题解 | #比较版本号#

比较版本号

https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串
# @param version2 string字符串
# @return int整型
#
import re


class Solution:
    def compare(self, version1: str, version2: str) -> int:
        # write code here
        one = []
        two = []
        # 同时以.和0作为分割,但是列表中会出现空元素
        one = re.split(r"[.0]", version1)
        two = re.split(r"[.0]", version2)

        # 去除所有的空元素
        one = [i for i in one if i != ""]
        two = [i for i in two if i != ""]
        # for i in one:
        #     if i == False:
        #         one.remove(i)

        # for i in two:
        #     if i == False:
        #         two.remove(i)

        # 补上末尾的0,使其位数一致,方便比较大小
        while len(one) != len(two):
            if len(one) > len(two):
                two.append("0")
            if len(one) < len(two):
                one.append("0")
        one = "".join(one)
        two = "".join(two)
        one = int(one)
        two = int(two)

        if one > two:
            return 1
        elif one < two:
            return -1
        else:
            return 0

全部评论

相关推荐

07-21 12:41
已编辑
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务