题解 | #比较版本号#
比较版本号
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) { // write code here String l1[] = version1.split("\\."); String l2[] = version2.split("\\."); int i1 = 0, i2 = 0; while( i1 < l1.length || i2 < l2.length) { // 获取 值 while (i1 < l1.length && Integer.valueOf(l1[i1]) == 0) i1 ++ ; while (i2 < l2.length && Integer.valueOf(l2[i2]) == 0) i2 ++ ; int a = i1 < l1.length? Integer.valueOf(l1[i1 ++ ]): 0; int b = i2 < l2.length? Integer.valueOf(l2[i2 ++ ]): 0; if (a > b) return 1; if (a < b) return -1; } return 0; } }