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;
    }
};