题解 | #比较版本号#
比较版本号
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