题解 | #比较版本号#
比较版本号
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; } }