leetcode -- Compare Version Numbers ---很基础,可以忽略

来源:互联网 发布:c 语言写入txt文件 编辑:程序博客网 时间:2024/06/07 00:56

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



0 0
原创粉丝点击