思路:从左到右比较等长数组值,不等长用0补齐
step1:获取最长数组的长度,确定循环次数
step2:每次循环获取值进行比较,v1>v2返回1,v1<v2返回-1
step1:获取最长数组的长度,确定循环次数
step2:每次循环获取值进行比较,v1>v2返回1,v1<v2返回-1
step3:如果都相等则返回0
public int compare(String version1, String version2) {
String s1[] = version1.split("\\.");
String s2[] = version2.split("\\.");
int l1 = s1.length;
int l2 = s2.length;
int l = (l1 > l2) ? l1 : l2;
for (int i = 0; i < l; i++) {
int v1 = i < l1 ? Integer.parseInt(s1[i]) : 0;
int v2 = i < l2 ? Integer.parseInt(s2[i]) : 0;
if (v1 > v2) {
return 1;
} else if (v1 < v2) {
return -1;
}
}
return 0;
}

京公网安备 11010502036488号