这道题通过“.”划分成数组,在一个一个数组比较
public class Solution {
public int compareVersion(String version1, String version2) {
String []versionl1 = version1.split("\\.");
String []versionl2 = version2.split("\\.");
int i = 0;
while (i<versionl1.length&&i<versionl2.length){
if (Integer.valueOf(versionl1[i])>Integer.valueOf(versionl2[i])){
return 1;
}else if (Integer.valueOf(versionl1[i])==Integer.valueOf(versionl2[i])){
i++;
}else {
return -1;
}
}
if (i<versionl1.length){
for (;i<versionl1.length;i++){
if (Integer.valueOf(versionl1[i])>0)return 1;
}
}
if (i<versionl2.length){
for (;i<versionl2.length;i++){
if (Integer.valueOf(versionl2[i])>0)return -1;
}
}
return 0;
}
}
本文介绍了一种用于比较软件版本号的算法实现。该算法通过将版本号字符串分割为数组,并逐一比较各部分来确定两个版本之间的关系。适用于需要判断版本先后的应用场景。
1048

被折叠的 条评论
为什么被折叠?



