题解 | 比较版本号

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串
 * @param version2 string字符串
 * @return int整型
 */
function compare(version1, version2) {
    // write code here
    const arr1 = version1.split(".");
    const arr2 = version2.split(".");
    let maxLength = 0;
    
	//1.比较数组长度,得到最大长度
    if (arr1.length < arr2.length) {
        maxLength = arr2.length;
    } else if (arr1.length > arr2.length) {
        maxLength = arr1.length;
    }else {
          maxLength = arr1.length;
    }

    console.log("最大长度", maxLength);
	
    //2.长度不够,全部补0,以防出现数组越界的情况发生
    if (arr1.length < maxLength) {
        for (let j = 0; j <=maxLength - arr1.length; j++) {
            arr1.push(0);
        }
    } else if (arr2.length < maxLength) {
        for (let j = 0; j <=maxLength - arr2.length; j++) {
            arr2.push(0);
        }
    }

    console.log("数组长度arr1", arr1);
    console.log("数组长度arr2", arr2);
	
    //3.依次比较对应索引号上的数值
    for(let i=0;i<maxLength;i++){
        console.log('数组',+arr1[i],+arr2[i])
        if (+arr1[i] < +arr2[i]) {
            return -1;
        } else if (+arr1[i] > +arr2[i]) {
            return 1;
        } else if(+arr1[i] ==+arr2[i]) {
            if(i==maxLength-1){
                return 0
            }
            continue
        }
    }

}


module.exports = {
    compare: compare,
};

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务