LeedCode刷题:165.比较版本号

比较两个版本号 version1 和 version2。
如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。

你可以假设版本字符串非空,并且只包含数字和 . 字符。

 . 字符不代表小数点,而是用于分隔数字序列。

例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。

你可以假设版本号的每一级的默认修订版号为 0。例如,版本号 3.4 的第一级(大版本)和第二级(小版本)修订号分别为 3 和 4。其第三级和第四级修订号均为 0。

解题思路:利用split函数将两个string分割后存入v1和v2,遍历两个字符串数组,比较每位数字的大小

 1 class Solution {
 2     public int compareVersion(String version1, String version2) {
 3         String []v1=version1.split("\.");//分割
 4         String []v2=version2.split("\.");
 5         for(int n=0;n<Math.max(v1.length,v2.length);n++){//遍历比较
 6             int i=(n<v1.length?Integer.valueOf(v1[n]):0);
 7             int j=(n<v2.length?Integer.valueOf(v2[n]):0);
 8             if(i<j)
 9                 return -1;
10             else if(i>j)
11                 return 1;
12         }
13         return 0;
14     }
15 }
原文地址:https://www.cnblogs.com/nilbook/p/13488333.html