题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串
# @param version2 string字符串
# @return int整型
#
class Solution:
def compare(self , version1: str, version2: str) -> int:
# write code here
version1_l = [int(i) for i in version1.split(".")]
version2_l = [int(i) for i in version2.split(".")]
len_1, len_2 = len(version1_l), len(version2_l)
if len_2 < len_1:
for i in range(len_1-len_2):
version2_l.append(0)
elif len_1 < len_2:
for i in range(len_2-len_1):
version1_l.append(0)
for num1, num2 in zip(version1_l, version2_l):
if num1 < num2:
return -1
elif num1 > num2:
return 1
return 0
直接使用Python的 split方法分割出各个修订号,然后对短的那个补0即可。

查看7道真题和解析