思路:从左到右比较等长数组值,不等长用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; }