import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    public int compare (String version1, String version2) {
        //先将版本字符串按照 “.”分割
        String[] arr1 = version1.split("\\.") ;
        String[] arr2 = version2.split("\\.") ;
        int i = 0 ;
        int j = 0 ;
        //然后逐一比较每一段的大小
        while(i < arr1.length && j < arr2.length) {
            if(cmpStrNum(arr1[i],arr2[j]) > 0) {
                return 1 ;
            } else if(cmpStrNum(arr1[i],arr2[j]) < 0) {
                return -1 ;
            }
            i++ ;
            j++ ;
        }
        
        if(i == arr1.length && j == arr2.length) {
            return 0 ;
        } else if(i == arr1.length) {//注意:有可能某一方的后续修订号全是0,因此需要继续判断
            while(j < arr2.length) {
                if(!isZeroStr(arr2[j])) {
                    return -1 ;  
                }
                j++ ;
            }
            return 0 ;
        } else {
            while(i < arr1.length) {
                if(!isZeroStr(arr1[i])) {
                    return 1 ;  
                }
                i++ ;
            }
            return 0 ;
        }
        
    }
    //比较两个字符串代表的数字的 大小  
    //s1>s2返回1 ;s1 < s2返回-1 ;s1=s2返回0
    public int cmpStrNum(String s1 , String s2) {
        char[] a1 = s1.toCharArray() ;
        char[] a2 = s2.toCharArray() ;
        //分别去除s1,s2的前导零
        int i1 = 0 ;
        while(i1 < a1.length && a1[i1] == '0') {
            i1 ++ ;
        }
        int i2 = 0 ;
        while(i2 < a2.length && a2[i2] == '0') {
            i2 ++ ;
        }
        //若存在两串或某一个串全为0则可以直接比较出大小
        if(i1 == a1.length && i2 == a2.length) {
            return 0 ;
        } else if (i1 == a1.length) {
            return -1 ;
        } else if(i2 == a2.length) {
            return 1 ;
        } else {//有效数字的起点
            //先比较长度(长的肯定大)0,1,2,3
            if(a1.length-i1 > a2.length-i2) {
                return 1 ;
            } else if(a1.length-i1 > a2.length-i2) {
                return -1 ;
            } else {
                 //长度一样再逐位比较
                while(i1 < a1.length && i2 < a2.length) {
                    if(a1[i1] > a2[i2]) {
                        return 1 ;
                    } else if(a1[i1] < a2[i2]) {
                        return -1 ;
                    }
                    i1++ ;
                    i2++ ;
                }
                return 0 ;
            }
        }
        
    }
    //判断是不是 “零串”
    public boolean isZeroStr(String str) {
        for(int i = 0 ; i < str.length() ; i ++) {
            if(str.charAt(i) != '0') {
                return false ;
            }
        }
        return true ;
    }
}