165 Compare Version Numbers

    /*
     * 165 Compare Version Numbers 
     * 2016-6-4 by Mingyang
     * 这里注意的是,因为split(.)就是避开所有的,所以要用两个backslash来做
     * 这个题自己开始做的时候用了三个while,先判断是否都在len以内,然后再分别判断
     * 后面发现冗余,只需要一个while就好了,另外也不需要一个i一个j,只需要一个i就好了
     */
  public int compareVersion(String version1, String version2) {
    String[] levels1 = version1.split("\.");
    String[] levels2 = version2.split("\.");
    int length = Math.max(levels1.length, levels2.length);
    for (int i=0; i<length; i++) {
        Integer v1 = i < levels1.length ? Integer.parseInt(levels1[i]) : 0;
        Integer v2 = i < levels2.length ? Integer.parseInt(levels2[i]) : 0;
        int compare = v1.compareTo(v2);
        if (compare != 0) {
            return compare;
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/zmyvszk/p/5559978.html