题解 | #比较版本号#

比较版本号

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

解题思路

  • 将两个字符串以'.'为分隔符划分成两个数组;
  • 循环比较各位(以短的数组为界)当数组1元素 > 数组2元素,返回1;当数组1元素 > 数组2元素,返回-1;否则,比较下一位。
  • 最后,处理一下多出来的位数;
  • 如果都不满足,就说明这两个版本号相等,返回0。

class Solution:
    def compare(self , version1: str, version2: str) -> int:
        # write code here
        a1 = version1.split('.')
        a2 = version2.split('.')

        i = 0
        j = min(len(a1), len(a2))
        while i < j:
            if int(a1[i]) > int(a2[i]):
                return 1
            elif int(a1[i]) < int(a2[i]):
                return -1
            else:
                i += 1

        if len(a1) < len(a2) and int(a2[-1]) > 0:
            return -1
        elif len(a1) > len(a2) and int(a1[-1]) > 0:
            return 1

        return 0
全部评论

相关推荐

牛客83265014...:完了,连现在都没开始面,13号投的是不是晚了
秋招的第一个offer,...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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