示例 1: 输入: version1 = “0.1”, version2 = “1.1” 输出: -1 示例 2: 输入: version1 = “1.0.1”, version2 = “1” 输出: 1 示例 3: 输入: version1 = “7.5.2.4”, version2 = “7.5.3” 输出: -1 示例 4: 输入:version1 = “1.01”, version2 = “1.001” 输出:0 解释:忽略前导零,“01” 和 “001” 表示相同的数字 “1”。 示例 5: 输入:version1 = “1.0”, version2 = “1.0.0” 输出:0 解释:version1 没有第三级修订号,这意味着它的第三级修订号默认为 “0”。 提示: 版本字符串由以点 (.) 分隔的数字字符串组成。这个数字字符串可能有前导零。 版本字符串不以点开始或结束,并且其中不会有两个连续的点。
代码:
public class Solution {
/**
* 比较版本号
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
public int compare (String version1, String version2) {
// write code here
String[] str1=version1.split("\\.");
String[] str2=version2.split("\\.");
int n=Math.max(str1.length,str2.length);
for(int i=0;i<n;i++){
int x= i<str1.length ? Integer.valueOf(str1[i]) : 0 ;
int y= i<str2.length ? Integer.valueOf(str2[i]) : 0 ;
if(x<y){
return -1;
}
else if(x>y){
return 1;
}
}
return 0;
}
}
京公网安备 11010502036488号