网站英文联系我们,应用网站制作,h5页面制作工具易企秀,有哪些好的模板网站一、题目 二、思路解析 1.思路#xff1a; 比较的是两个版本号它们以“.”作为分割的部分的有效值#xff08;即数值#xff09;是否一致 2.常用方法#xff1a; 1.s.split(\\规则)#xff0c;将字符串按参数规则进行分割并存储在字符串数组中
String[] str …一、题目 二、思路解析 1.思路 比较的是两个版本号它们以“.”作为分割的部分的有效值即数值是否一致 2.常用方法 1.s.split(\\规则)将字符串按参数规则进行分割并存储在字符串数组中
String[] str s.split(\\.); //按“.”进行分割得到对应的几段子字符串并依次存入str数组中 2.Integer.parseInt(参数)将参数的类型转换为int类型
int numInteger.parseInt(str[i]); 3.核心逻辑 1.将两个版本号分别根据自己的“.”进行分割转为string数组
String[]str1version1.split(\\.);
String[]str2version2.split(\\.); 2.获取两个版本号对应数组中最大的长度因为要比对二者版本是否一致需要比对所有数值
int maxLenMath.max(str1.length,str2.length); 3.遍历获取到对应数组下标的元素进行比对 √.注意事项 当前下标大于数组的长度时 此时补0
for(int i0;imaxLen;i){int num1isize1?Integer.parseInt(str1[i]):0;int num2isize2?Integer.parseInt(str2[i]):0;if(num1!num2){return num1num2?-1:1;
}
}return 0;
三、代码实现
class Solution {public int compareVersion(String version1, String version2) {String[]str1version1.split(\\.);String[]str2version2.split(\\.);int maxLenMath.max(str1.length,str2.length);for(int i0;imaxLen;i){int num1istr1.length?Integer.parseInt(str1[i]):0;int num2istr2.length?Integer.parseInt(str2[i]):0;if(num1!num2){return num1num2?-1:1;}}return 0;}