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.
.
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
Runtime: 0ms
1 class Solution { 2 public: 3 int compareVersion(string version1, string version2) { 4 int m = version1.size(), n = version2.size(); 5 int i = 0, j = 0; 6 7 while(i < m || j < n){ 8 int temp1 = 0, temp2 = 0; 9 while(i < m && version1[i] != '.'){10 temp1 = temp1 * 10 + version1[i] - '0';11 i++;12 }13 while(j < n && version2[j] != '.'){14 temp2 = temp2 * 10 + version2[j] - '0';15 j++;16 }17 if(temp1 > temp2) return 1;18 if(temp1 < temp2) return -1;19 i++;20 j++;21 }22 return 0;23 }24 };