题解 | #比较版本号#

比较版本号

http://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7

写法比价low,耗费代价太大了

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    public int compare (String version1, String version2) {
        // write code here
        version1 = "1"+version1;
        version2 = "1"+version2;
        String[] split1 = version1.replaceAll("0", "").split("\\.");
        String[] split2 = version2.replaceAll("0", "").split("\\.");
        int min = Math.min(split1.length, split2.length);
        for(int i = 0;i<min;i++){
            int c = Integer.valueOf(split1[i]).compareTo(Integer.valueOf(split2[i]));
            if(c!=0){
               return c;
            }
        }
        return Integer.compare(split1.length-split2.length, 0);
    }
}
全部评论

相关推荐

10-18 13:01
已编辑
西安理工大学 C++
小米内推大使:建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务