/* * 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< 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;}