比较两个版本号 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%的用户