边工作边刷题: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

posted @ 2016-05-19 11:25  absolute100  阅读(85)  评论(0编辑  收藏  举报