#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串
# @param version2 string字符串
# @return int整型
#
class Solution:
def compare(self , version1: str, version2: str) -> int:
# write code here
i = j = 0
len1, len2 = len(version1), len(version2)
while i < len1 or j < len2:
# 解析version1的下一个修订号
num1 = 0
while i < len1 and version1[i] != '.':
num1 = num1 * 10 + int(version1[i])
i += 1
i += 1 # 跳过'.'字符
# 解析version2的下一个修订号
num2 = 0
while j < len2 and version2[j] != '.':
num2 = num2 * 10 + int(version2[j])
j += 1
j += 1 # 跳过'.'字符
# 比较两个修订号
if num1 > num2:
return 1
elif num1 < num2:
return -1
# 所有修订号都相等
return 0