思路
直接找到.的位置,将切割出前面的字符串,将其转换为数字再进行比较
代码
public int compareVersion(String version1, String version2) {return recur(version1, 0, version2, 0);}public int recur(String version1, int startI, String version2, int startJ) {if (startI >= version1.length() && startJ >= version2.length()) return 0;int i = 0, j = 0;for (i = startI; i < version1.length(); i++) {if (version1.charAt(i) == '.') break;}for (j = startJ; j < version2.length(); j++) {if (version2.charAt(j) == '.') break;}Integer s1 = startI >= version1.length() ? 0 :Integer.valueOf(version1.substring(startI, i));Integer s2 = startJ >= version2.length() ? 0 :Integer.valueOf(version2.substring(startJ, j));if (s1 == s2) return recur(version1, i + 1, version2, j + 1);return s1 > s2 ? 1 : -1;}
