题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 比较版本号
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
function compare( version1 , version2 ) {
// 将两个版本进行数组化
let v1Arr = version1.split('.')
let v2Arr = version2.split('.')
// 统计两个版本的长度,用于16行计算最长的版本号
let v1Len = v1Arr.length;
let v2len = v2Arr.length;
// 取两个版本最长的版本作为长度,用于18行的循环
let verLen = Math.max(v1Len, v2len)
let res = 0
for (let i = 0; i <= verLen - 1; i++) {
// 取版本号,如果arr[i]不存在,则直接赋值0,如果存在,取整数
let v1 = parseInt(v1Arr[i]) || 0
let v2 = parseInt(v2Arr[i]) || 0
// 判断版本号,如果1或者-1,直接break,如果是0,一值判断
if (v1 == v2) {
res = 0
} else if (v1 < v2) {
res = -1
break
} else {
res = 1
break
}
}
return res
}
module.exports = {
compare : compare
};
