leetcode165,想用stream思路,但是结果和我预期的不一样,我该怎么改?

 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

可以说完全不一样,请问我哪里错了呢?

https://blog.csdn.net/sinat_32547403/article/details/53047462