题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
import java.util.*;
public class Solution {
public int compare (String version1, String version2) {
// write code here
// 遍历字符串,记录点前面的值进行比较,前导0忽略
int l1=version1.length();
int i = 0;
int l2 = version2.length();
int j = 0;
while(i<l1||j<l2){
// 可以将该版本号看作 个、十、百进行比较大小,即转换成对应数字整体比较,不用一段一段比较
long num1 =0;
long num2 =0;
// 循环读出数
while(i<l1&&version1.charAt(i)!='.'){
num1= num1*10+(version1.charAt(i)-'0');
i++;
}
// 跳过点
i++;
while(j<l2&&version2.charAt(j)!='.'){
num2 = num2*10+(version2.charAt(j)-'0');
j++;
}
// 跳过点
j++;
if(num1>num2){
return 1;
}else if(num1<num2){
return -1;
}
}
return 0;
}
}


神州信息成长空间 29人发布