https://leetcode.com/problems/compare-version-numbers/
参考http://bookshadow.com/weblog/2014/12/17/leetcode-compare-version-numbers/
my code
class Solution(object):
def compareVersion(self, version1, version2):
"""
:type version1: str
:type version2: str
:rtype: int
"""
v1, v2 = version1.split('.'), version2.split('.')
i = 0
z = 1
if len(v1) > len(v2):
tmp = ['0'] *(len(v1) - len(v2))
v2 += tmp
elif len(v2) > len(v1):
tmp = ['0'] *(len(v2) - len(v1))
v1 += tmp
while i < len(v1):
if int(v1[i]) > int(v2[i]):
return 1
elif int(v1[i]) < int(v2[i]):
return -1
i += 1
if len(v1) == len(v2):
return 0
code2
class Solution:
# @param a, a string
# @param b, a string
# @return a boolean
def compareVersion(self, version1, version2):
v1Arr = version1.split(".")#split之后每一部分逐个比较,长度不够的用0补齐
v2Arr = version2.split(".")
len1 = len(v1Arr)
len2 = len(v2Arr)
lenMax = max(len1, len2)
for x in range(lenMax):
v1Token = 0#如果长度不够,用0补齐
if x < len1:
v1Token = int(v1Arr[x])
v2Token = 0
if x < len2:
v2Token = int(v2Arr[x])
if v1Token < v2Token:
return -1
if v1Token > v2Token:
return 1
return 0