165. 比較版本號(中等,字串)(12.24)
阿新 • • 發佈:2019-01-05
比較兩個版本號 version1 和 version2。
如果 version1 > version2
返回 1
,如果 version1 < version2
返回 -1
, 除此之外返回 0
。
你可以假設版本字串非空,並且只包含數字和 .
字元。
.
字元不代表小數點,而是用於分隔數字序列。
例如,2.5
不是“兩個半”,也不是“差一半到三”,而是第二版中的第五個小版本。
示例 1:
輸入: version1 = "0.1", version2= "1.1"
輸出: -1
示例 2:
輸入: version1 = "1.0.1", version2 = "1"
輸出: 1
思路:先把字串按照'.'給拆分,然後從左向右逐個比較。按照最長的來比較,如果短的比較完之後就在後面補0
class Solution(object): def compareVersion(self, version1, version2): """ :type version1: str :type version2: str :rtype: int """ v1=version1.split('.') v2=version2.split('.') l1=len(v1) l2=len(v2) c=max(l1,l2) for i in range(c): c1,c2=0,0 if i <l1: c1=int(v1[i]) if i <l2: c2=int(v2[i]) if c1<c2: return -1 if c1>c2: return 1 return 0
執行用時: 24 ms, 在Compare Version Numbers的Python提交中擊敗了98.18%的使用者