题目描述:
Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character.
The . character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5 is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
题目大意:
比较两个版本号version1和version2。
如果version1 > version2返回1,如果version1 < version2返回-1,否则返回0.
你可以假设版本号字符串均非空并且只包含数字和点号。
点号不代表数字的小数点,用来分割数字序列。
例如,2.5不是“2又2分之1”或者“差一半到版本3”,它是第二级别的第5版本,第一级别的第2版本。
下面是版本号顺序的实例:
0.1 < 1.1 < 1.2 < 13.37
解题思路:
简单题,略
Python代码:
class Solution:
# @param a, a string
# @param b, a string
# @return a boolean
def compareVersion(self, version1, version2):
v1Arr = version1.split(".")
v2Arr = version2.split(".")
len1 = len(v1Arr)
len2 = len(v2Arr)
lenMax = max(len1, len2)
for x in range(lenMax):
v1Token = 0
if x < len1:
v1Token = int(v1Arr[x])
v2Token = 0
if x < len2:
v2Token = int(v2Arr[x])
if v1Token < v2Token:
return -1
if v1Token > v2Token:
return 1
return 0
本文链接:http://bookshadow.com/weblog/2014/12/17/leetcode-compare-version-numbers/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。