题解 | #比较版本号#
比较版本号
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 };