题解 | 比较版本号
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 比较版本号 * @param version1 string字符串 * @param version2 string字符串 * @return int整型 */ public int compare (String version1, String version2) { boolean v1_longer_than_v2 = version1.length()>version2.length(); int len = v1_longer_than_v2?version1.length():version2.length(); int t1,t2; for(int p1=0, p2=0;p1<version1.length()||p2<version2.length();){ t1 = 0; t2 = 0; // 同一版本比较 while(p1<version1.length()&&version1.charAt(p1) != '.'){ t1 += version1.charAt(p1++) - '0'; t1 *= 10; } while(p2<version2.length()&&version2.charAt(p2) != '.'){ t2 += version2.charAt(p2++) - '0'; t2 *= 10; } p1 += 1; p2 += 1;// 跳过'.' if(t1 > t2) return 1; else if(t1 < t2) return -1; else continue; } return 0; } }