边工作边刷题:70天一遍leetcode: day 6
Compare Version Numbers
题本身思路简单没什么可说的。值得一提的是corner case:多出来的0和没有是相同版本,这样最简单的处理是直接对没有的补0。这样因为需要补齐,循环是到最长的版本。
class Solution(object):
def compareVersion(self, version1, version2):
"""
:type version1: str
:type version2: str
:rtype: int
"""
v1 = version1.split(".")
v2 = version2.split(".")
i=0
while i<len(v1) or i<len(v2):
ver1 = int(v1[i]) if i<len(v1) else 0
ver2 = int(v2[i]) if i<len(v2) else 0
if ver1 > ver2:
return 1
elif ver1 < ver2:
return -1
i+=1
return 0