class Solution {
public:
int compareVersion(string version1, string version2) {
istringstream s1(version1 + '.'), s2(version2 + '.');
//用string:snum1,snum2来保存每次读到的字符转
string snum1 = "", snum2 = "";
//以'.'来分割
while (getline(s1, snum1, '.') && getline(s2, snum2, '.')) {
int i1 = stoi(snum1), i2 = stoi(snum1);
cout << i1 << i2 << endl;
if (i1 > i2) {
return 1;
} else if (i1 < i2) {
return -1;
}
snum1 = "";
snum2 = "";
}
return 0;
}
};
示例的输入为:"0.1","1.1"
std::cout输出显示为:00,11
预期结果:-1
我的结果:0
可以说完全不一样,请问我哪里错了呢?