leetcode中等165比较版本号
Posted qq_40707462
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等165比较版本号相关的知识,希望对你有一定的参考价值。
思路一:用split函数分割成数组。然后比较
class Solution(object):
def compareVersion(self, version1, version2):
v1=version1.split(".")
v2=version2.split(".")
while v1 or v2:
x=int(v1.pop(0)) if v1 else 0
y = int(v2.pop(0)) if v2 else 0
if x>y:
return 1
elif x<y:
return -1
return 0
思路二:不使用现成函数,双指针分别指向v1,v2,一次遍历
class Solution(object):
def compareVersion(self, version1, version2):
i, j = 0, 0
l1,l2=len(version1),len(version2)
while i < l1 or j < l2:
a = 0
b = 0
while i < l1 and version1[i] != '.':#遍历两个点之间的内容
a = a * 10 + int(version1[i])
i += 1
while j < l2 and version2[j] != '.':
b = b * 10 + int(version2[j])
j += 1
i+=1#遇到点要加一,不然就一直在点处循环
j+=1
if a > b:
return 1
elif a < b:
return -1
return 0
以上是关于leetcode中等165比较版本号的主要内容,如果未能解决你的问题,请参考以下文章