165 Compare Version Numbers

原题链接: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

你可能感兴趣的:(165 Compare Version Numbers)