题目链接
思路:
使用String类的split方法,将版本号以分隔符“.”进行切分,得到版本号字符串数组
接下来开始对两个版本号字符串数组进行遍历比较,在比较每一个字符串时,将其转为int类型会自动忽略掉前导0
public int compareVersion(String version1, String version2) {
String[] v1 = version1.split("\\.");
String[] v2 = version2.split("\\.");
for (int i = 0; i < Math.max(v1.length, v2.length); i++) {
// 比较i与数组长度的关系,超出时,将此时的版本号赋值为0
int num1 = i < v1.length ? Integer.valueOf(v1[i]) : 0;
int num2 = i < v2.length ? Integer.valueOf(v2[i]) : 0;
if (num1 < num2) {
return -1;
} else if (num1 > num2) {
return 1;
}
}
return 0;
}
代码参考自:https://leetcode-cn.com/problems/compare-version-numbers/comments/91359