165. 比较版本号
方法一:zip_longest
class Solution:
def compareVersion(self, version1: str, version2: str) -> int:
for x, y in zip_longest(version1.split('.'), version2.split('.'),fillvalue=0):
a, b = int(x), int(y)
if a < b:return -1
if a > b:return 1
return 0
方法二:双指针
class Solution:
def compareVersion(self, version1: str, version2: str) -> int:
m, n, i, j = len(version1), len(version2), 0, 0
while i < m or j < n:
x, k = 0, i
while i < m and version1[i] != ".":
i += 1
if i <= m:x = int(version1[k:i])
y, k = 0, j
while j < n and version2[j] != '.':
j += 1
if j <= n:y = int(version2[k:j])
if x < y:return -1
if x > y:return 1
i += 1
j += 1
return 0