题目:
比较两个版本号 version1 和 version2。
如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。
你可以假设版本字符串非空,并且只包含数字和 . 字符。
. 字符不代表小数点,而是用于分隔数字序列。
例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。
你可以假设版本号的每一级的默认修订版号为 0。例如,版本号 3.4 的第一级(大版本)和第二级(小版本)修订号分别为 3 和 4。其第三级和第四级修订号均为 0。
链接:https://leetcode-cn.com/problems/compare-version-numbers
思路:
1、分别把version1、version2按照 . 字符分割,然后在两个列表后添加0元素,使其列表长度相同
2、遍历两个列表,判断大小
Python代码:
class Solution(object):
def compareVersion(self, version1, version2):
"""
:type version1: str
:type version2: str
:rtype: int
"""
v1_ls = version1.split('.')
v2_ls = version2.split('.')
if len(v1_ls)>len(v2_ls):
v2_ls += [0]*(len(v1_ls)-len(v2_ls))
else:
v1_ls += [0]*(len(v2_ls)-len(v1_ls))
for i in range(len(v1_ls)):
if int(v1_ls[i])>int(v2_ls[i]):
return 1
elif int(v1_ls[i])<int(v2_ls[i]):
return -1
return 0