两个注意的点:
- 分割字符串的时候,要用
split("\\.")
而不能用split(".")
,因为前者表示“对.
使用斜杠转义,\\
表示一个斜杠”,而后者表示匹配任意单个字符,例如version2 = "1.2.3"
会被分割成["", "", "", ""]
。 - 将字符串转换为数字:
Integer.parseInt()
class Solution {
public int compareVersion(String version1, String version2) {
String[] chars1 = version1.split("\\.");
String[] chars2 = version2.split("\\.");
for (int i = 0; i < chars1.length || i < chars2.length; ++i) {
int x = 0, y = 0;
if (i < chars1.length) x = Integer.parseInt(chars1[i]);
if (i < chars2.length) y = Integer.parseInt(chars2[i]);
if (x > y) return 1;
if (x < y) return -1;
}
return 0;
}
}