compare version numbers


Compare Version Numbers
⚠️注意要把两个字符串全遍历完。因为有”1.0.1”和”1”这种情况,如果early return就出问题了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public int (String version1, String version2) {
String[] v1 = version1.split("\.");
String[] v2 = version2.split("\.");
int len = v1.length > v2.length ? v1.length : v2.length;
for (int i = 0; i < len; ++i) {
int num1 = i < v1.length ? Integer.parseInt(v1[i]) : 0;
int num2 = i < v2.length ? Integer.parseInt(v2[i]) : 0;
if (num1 < num2)
return -1;
else if (num1 > num2)
return 1;
}
return 0;
}