题解
字符串分割下 把每个点之前的整数比一下即可
class Solution {
public:
int compareVersion(string version1, string version2) {
int a[501];
int b[501];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
int sum = 0;
int k = 0;
for(int i=0; i<version1.length(); i++){
if (version1[i] == '.') {
a[k] = sum;
k++;
sum = 0;
continue;
}
char c = version1[i];
sum = sum * 10 + (c-'0');
}
int len1 = k+1;
a[k] = sum;
sum = 0;
k = 0;
for(int i=0; i<version2.length(); i++){
if (version2[i] == '.') {
b[k] = sum;
k++;
sum = 0;
continue;
}
char c = version2[i];
sum = sum * 10 + (c-'0');
}
int len2 = k+1;
b[k] = sum;
int maxlen = max(len1, len2);
for(int i=0; i<maxlen; i++) {
if (a[i] > b[i]) return 1;
else if (a[i] < b[i]) return -1;
}
return 0;
}
};