题解 | #比较版本号#

比较版本号

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串 
# @param version2 string字符串 
# @return int整型
#
class Solution:
    def compare(self , version1: str, version2: str) -> int:
        # write code here
        version1_l = [int(i) for i in version1.split(".")]
        version2_l = [int(i) for i in version2.split(".")]

        len_1, len_2 = len(version1_l), len(version2_l)
        if len_2 < len_1:
            for i in range(len_1-len_2):
                version2_l.append(0)
        elif len_1 < len_2:
            for i in range(len_2-len_1):
                version1_l.append(0)

        for num1, num2 in zip(version1_l, version2_l):
            if num1 < num2:
                return -1
            elif num1 > num2:
                return 1
            
        return 0

直接使用Python的 split方法分割出各个修订号,然后对短的那个补0即可。

全部评论

相关推荐

听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务