class Solution {
public:
//这里要注意点有 1.用字符串转int,使用方法stio会超内存
// 2.字符串的比较,用大于小于的话,,默认字典集,也就是依次从左往右进行比较,当遇到大的就直接返回
int compare(string version1, string version2) {
//只需要比较几个点号
//考虑特殊情况,万一有只有一个点的
long long prat1 ;
long long prat2;
int i = 0;
int j = 0;
int n1 = version1.size();
int n2 = version2.size();
while (i < n1 || j < n2 ) {
if (i < n1) {
while (version1[i] == '0') i++;
while (version1[i] != '.'&& i < n1) {
prat1 = prat1 * 10 + (version1[i] - '0') ;
i++;
}
i++;
}
if (j < n2) {
while (version2[j] == '0') j++;
while (version2[j] != '.'&& j < n2) {
prat2 = prat2 * 10 + (version2[j] - '0') ;
j++;
}
j++;//用来跳过点,这里不加ifpanding都行,因为当上面的while退出来要么真的是下标j对应的真是. 要么就是j越界了,而当j越界那么j加1后也不会进到这里的第二个while中 part2就永远等于0;
}
if (prat1 > prat2) return 1;
else if (prat2> prat1) return -1;
prat1 = 0;
prat2 = 0;
}
return 0;
}
};