题解 | #比较版本号#
比较版本号
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 d1 = {} d2 = {} c1 = 0 c2 = 0 a1,a2 = -1,-1 for i in range(len(version1)): if version1[i] != ".": d1[c1] = version1[a1+1:i+1] else: c1 += 1 a1 = i for i in range(len(version2)): if version2[i] != ".": d2[c2] = version2[a2+1:i+1] else: c2 += 1 a2 = i print(d1,d2) def largeOrNot(dic1,dic2,mod): for i in dic1.keys(): print(mod) print(dic1) if int(dic1[i]) > int(dic2[i]): return mod elif int(dic1[i]) < int(dic2[i]): return -mod large2 = False if len(dic1)<len(dic2): for j in range(len(dic1),len(dic2)-1): if dic2[j] != 0: large2 = True if dic1.keys == dic2.keys or not large2: return 0 else: return -mod mod = 1 if len(d1)<=len(d2) else -1 return largeOrNot(d1,d2,mod) if len(d1)<=len(d2) else largeOrNot(d2,d1,mod)