Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.git
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.code
Here is an example of version numbers ordering:three
0.1 < 1.1 < 1.2 < 13.37ci
不少細節,代碼比較冗餘string
class Solution: # @param version1, a string # @param version2, a string # @return an integer def compareVersion(self, version1, version2): v1 = version1.split('.') v2 = version2.split('.') l1 = len(v1) l2 = len(v2) if l1 < l2: for i in range(l1): if int(v1[i]) < int(v2[i]): return -1 elif int(v1[i]) > int(v2[i]): return 1 for i in range(l1,l2): if int(v2[i]) > 0: return -1 return 0 else: for i in range(l2): if int(v1[i]) < int(v2[i]): return -1 elif int(v1[i]) > int(v2[i]): return 1 for i in range(l2,l1): if int(v1[i]) > 0: return 1 return 0