原题链接:Compare Version Numbers
这道题非常有意思,也有一定的难度,下面先给出我的解法:
class Solution:
# @param {string} version1
# @param {string} version2
# @return {integer}
def compareVersion(self, version1, version2):
v1 = [int(i) for i in version1.split('.')]
v2 = [int(j) for j in version2.split('.')]
l1 = len(v1)
l2 = len(v2)
if l1 != l2:
if l1 > l2:
v2.extend([0]*(l1 - l2))
else:
v1.extend([0]*(l2 - l1))
for (i, j) in zip(v1, v2):
if i > j:
return 1
elif i < j:
return -1
return 0
代码很简单我就不讲解了,主要是思路比较清晰(自夸没商量(*__*) )。
stackoverflow上有一些奇技淫巧,我觉得比较好的有两个,一个是用正则表达式,代码很简短;另一个更简短,因为python内置了比较版本号的函数,所以说你只要调用就可以了。。。
地址如下,大家自己去观摩吧
stackoverflow-compare-version-numbers
网友评论