leetcode165. 比较版本号

传送门

题目:比较两个版本号 version1 和 version2。
如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。
你可以假设版本字符串非空,并且只包含数字和 . 字符。
. 字符不代表小数点,而是用于分隔数字序列。
输入: version1 = “0.1”, version2 = “1.1” 输出: -1
输入: version1 = “1.0.1”, version2 = “1” 输出: 1
输入: version1 = “7.5.2.4”, version2 = “7.5.3” 输出: -1
输入:version1 = “1.01”, version2 = “1.001” 输出:0 忽略前导零,
输入:version1 = “1.0”, version2 = “1.0.0” 输出:0

    public int compareVersion(String version1, String version2) {
     
        String[] v1 = version1.split("\\.");// 没有加转义符的话,返回长度为0
        String[] v2 = version2.split("\\.");
       
        for ( int i = 0, j = 0; i < v1.length || j < v2.length; ++i, ++j) {
     
            int sum1 = (i < v1.length) ? Integer.valueOf(v1[i]) : 0;
            int sum2 = (j < v2.length) ? Integer.valueOf(v2[i]) : 0;
            if (sum1 > sum2) return 1;
            if (sum1 < sum2) return -1;
        }
        return 0;
}

你可能感兴趣的:(leetcode,leetcode,字符串,正则表达式)