题意描述:软件的版本号一般是由数字和“.”组成的字符串,现比较两个字符串version1和version2,如果version1>version2返回1,如果version<version2返回-1,否则返回0
解题思路:字符串由数字和"."组成,所以先将字符串通过split()转化为字符数组,再逐位比较如果index=i区别出来了直接返回,否则比较index=i+1位
int compareVersion(String version1, String version2) {
if(version1==null || version2==null)
return 0;
String[] str1 = version1.split("\\.");
String[] str2 = version2.split("\\.");
for(int i=0; i<str1.length || i<str2.length;){
int n1 = i<str1.length ? Integer.parseInt(str1[i]) : 0;
int n2 = i<str2.length ? Integer.parseInt(str2[i]) : 0;
if(n1 > n2) return 1;
else if(n1 < n2) return -1;
else i++;
}
return 0;
}