方法一:(每一个”."的子段比较所代表的数字,其中去除前导零)
class Solution {
public:
int compareVersion(string version1, string version2) {
int i=0,j=0;
while(true){
int n1=0, n2=0;
while(version1[i]=='0'&&i<version1.length())
i++;
while(version1[i]!='.'&&i<version1.length()){
n1=n1*10+version1[i]-'0';
i++;
}
while(version2[j]=='0'&&j<version2.length())
j++;
while(version2[j]!='.'&&j<version2.length()){
n2=n2*10+version2[j]-'0';
j++;
}
if(n1>n2)
return 1;
else if(n1<n2)
return -1;
else if(i==version1.length()&&j==version2.length())
return 0;
if(version1[i]=='.'&&i<version1.length())
i++;
if(version2[j]=='.'&&j<version2.length())
j++;
}
}
};