题解 | #比较版本号#

比较版本号

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
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务