南昌建网站,哪家公司建立5g散热工业园,网页制作公司要求,导购网站建设需求模版给你两个 版本号字符串 version1 和 version2 #xff0c;请你比较它们。版本号由被点 . 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。
比较版本号时#xff0c;请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少#xff0c…给你两个 版本号字符串 version1 和 version2 请你比较它们。版本号由被点 . 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。
比较版本号时请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少则将缺失的修订号视为 0。
返回规则如下
如果 version1 version2 返回 -1如果 version1 version2 返回 1除此之外返回 0。 示例 1
输入version1 1.2, version2 1.10
输出-1
解释
version1 的第二个修订号为 2version2 的第二个修订号为 102 10所以 version1 version2。
示例 2
输入version1 1.01, version2 1.001
输出0
解释
忽略前导零01 和 001 都代表相同的整数 1。
示例 3
输入version1 1.0, version2 1.0.0.0
输出0
解释
version1 有更少的修订号每个缺失的修订号按 0 处理。 提示
1 version1.length, version2.length 500version1 和 version2 仅包含数字和 .version1 和 version2 都是 有效版本号version1 和 version2 的所有修订号都可以存储在 32 位整数 中
思路用.分割然后转成数字空位用0替代按位比较即可
class Solution {public int compareVersion(String version1, String version2) {String[] split1 version1.split(\\.);String[] split2 version2.split(\\.);int length Math.max(split1.length, split2.length);for (int i 0; i length; i) {// 直接转成数字int num1;int num2;if (i1 split1.length) {num1 Integer.parseInt(split1[i]);} else {num1 0;}if (i1 split2.length) {num2 Integer.parseInt(split2[i]);} else {num2 0;}if (num1 num2) {return 1;} else if (num1 num2) {return -1;}}return 0;}
}