Bootstrap

165. 比较版本号

两个注意的点:

  • 分割字符串的时候,要用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;
    }
}
;