题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串
# @param version2 string字符串
# @return int整型
#
import re
class Solution:
def compare(self, version1: str, version2: str) -> int:
# write code here
one = []
two = []
# 同时以.和0作为分割,但是列表中会出现空元素
one = re.split(r"[.0]", version1)
two = re.split(r"[.0]", version2)
# 去除所有的空元素
one = [i for i in one if i != ""]
two = [i for i in two if i != ""]
# for i in one:
# if i == False:
# one.remove(i)
# for i in two:
# if i == False:
# two.remove(i)
# 补上末尾的0,使其位数一致,方便比较大小
while len(one) != len(two):
if len(one) > len(two):
two.append("0")
if len(one) < len(two):
one.append("0")
one = "".join(one)
two = "".join(two)
one = int(one)
two = int(two)
if one > two:
return 1
elif one < two:
return -1
else:
return 0

