leetcode刷題--Compare Version Numbers

黃思喆發表於2015-06-01

題目:比較兩個版本號,如果第一個版本高就返回整數1,第二個高就返回整數-1,一樣就返回0

簡單的思路是字串處理,根據"."的位置拆分字串到列表中,如果兩個列表不等長就用0填充至等長,然後從列表第一位開始對比列表中相同位置的數字大小

程式碼:

class Solution:
    # @param {string} version1
    # @param {string} version2
    # @return {integer}
    def compareVersion(self, version1, version2):
        vlist1=version1.split(".")
        vlist2=version2.split(".")

        add = [0 for i in range(min(len(vlist1),len(vlist2)),max(len(vlist1),len(vlist2)))]
        if len(vlist1) > len(vlist2):
            vlist2 = vlist2+add
        if len(vlist1) < len(vlist2):
            vlist1 = vlist1+add

        i=0
        while i < len(vlist2):
            if int(vlist1[i]) > int(vlist2[i]):
                return 1
                break
            elif int(vlist1[i]) < int(vlist2[i]):
                return -1
                break
            else:
                i+=1
        return 0

相關文章