思路:
小数点移动相同位数直到version1和version2都是整数,然后比较两个整数的大小。
class Solution {
public:
int compareVersion(string version1, string version2) {
int t1, t2;
int idx1 = 0, idx2 = 0;
int n1 = version1.length(), n2 = version2.length();
while(idx1 < n1 || idx2 < n2) {
t1 = 0;
while(idx1 < n1) {
if(version1[idx1] == '.') {
idx1++;
break;
}
t1 = t1 * 10 + (version1[idx1] - '0');
idx1++;
}
t2 = 0;
while(idx2 < n2) {
if(version2[idx2] == '.') {
idx2++;
break;
}
t2 = t2 * 10 + (version2[idx2] - '0');
idx2++;
}
if(t1 > t2) return 1;
if(t1 < t2) return -1;
}
return 0;
}
};