Compare Version Number
题目描述
解题方法
这一题的关键是有各种corner case,更体现了要先把各种test case和面试官沟通 清楚的重要性! test cases
- 1.0 vs 1
- 1.1.3 vs 1.1
- 0.0 vs 0.1
所以应该一直比较到有一个string结束了才可以,另一个string如果已经超出, 就用0来作为它的value比较。
Solution
class Solution:
# @param A : string
# @param B : string
# @return an integer
def compareVersion(self, A, B):
l_a = A.split(".")
l_b = B.split(".")
length_a = len(l_a)
length_b = len(l_b)
max_length = max(length_b, length_b)
for i in range(max_length):
num_a = int(l_a[i]) if i < length_a else 0
num_b = int(l_b[i]) if i < length_b else 0
if num_a > num_b:
return 1
elif num_a < num_b:
return -1