class Solution{
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    vector<string> token(string s,char c){
            int len=0;
            s=s+c;
            vector<string> strings;
            for(int i=0;i<s.length();i++){
                if(s[i]==c){
                    len++;
                }
            }
            string res[len+1];
            int j=0;
            for(int i=0;i<s.length();i++){
                if(s[i]!=c){
                    res[j]=res[j]+char(s[i]);
                }else{
                    strings.push_back(res[j]);
                    j++;
                }
            }
            return strings;
    }
    string equallenth(string s,string l){
        // if(s.size()==l.size()){
            
        // }
        int zero=-(s.length()-l.length());
        if(s.size()<l.size()){
            for(int k=0;k<zero;k++){
                s="0"+s;
            }
        }
        return s;
    }
    vector<string> equallenv(vector<string> &s,vector<string> &l){
        int zero=-(s.size()-l.size());
        for(int k=0;k<zero;k++){
            s.push_back("0");
        }
        return s;
    }
    int cmp(int i,vector<string> &strings1,vector<string> &strings2){
        //int len=strings1.size();
        int res=0;
        if(strings1[i].size()<strings2[i].size()){
                strings1[i]=equallenth(strings1[i],strings2[i]);
            }
        if(strings1[i].size()>strings2[i].size()){
                strings2[i]=equallenth(strings2[i],strings1[i]);
        }
        int len=strings1[i].size();
        for(int j=0;j<len;j++){
            if(strings1[i][j]<strings2[i][j]){
                res=-1;
                break;
            }
            if(strings1[i][j]>strings2[i][j]){
                res=1;
                break;
            }
            

        }
        return res;
    }
    int compare(string version1, string version2) {
        // write code here
        int res=0;
        vector<string> strings1=token(version1,'.');
        vector<string> strings2=token(version2,'.');
        if(strings1.size()<strings2.size()){
            strings1=equallenv(strings1,strings2);
        }
        if(strings1.size()>strings2.size()){
            strings2=equallenv(strings2,strings1);
        }
        for(int index=0;index<strings1.size();index++){
            if(cmp(index,strings1,strings2)==-1){
                res=-1;
                break;
            }
            if(cmp(index,strings1,strings2)==1){
                res=1;
                break;
            }
        }
        return res;

    }
};