165. 比较版本号
解法一:字典序比较
#list比较运算,逐次比较第0,1,2,...位
>>> [1,2,3] > [1,2,1] #长度相等
True
>>> [1,2,3] > [1,2,3,0] #长度不想等
Falseclass Solution:
def compareVersion(self, version1: str, version2: str) -> int:
#计算两者的点号数量
points1 = version1.count('.')
points2 = version2.count('.')
#求差
diff = points1 - points2
#将点号少串的补0,使之与点号较多的串对齐
if diff > 0:
for _ in range(diff):
version2 += '.0'
elif diff < 0:
for _ in range(-diff):
version1 += '.0'
#调用函数转换
ver1 = self.convert(version1)
ver2 = self.convert(version2)
#数组直接比较
if ver1 > ver2:
return 1
elif ver1 < ver2:
return -1
else:
return 0
#转换函数
def convert(self, str):
chs = str.split('.') #字符串按'.'号切分
res = [] #输出
for ch in chs: #将每个字符转成int
res.append(int(ch))
return res最后更新于