BM22 比较版本号 js

解法一:

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串 
 * @param version2 string字符串 
 * @return int整型
 */
function compare( version1 ,  version2 ) {
    let v1 = version1.split('.')
    let v2 = version2.split('.')
    for(let i = 0 ; i < Math.max(v1.length,v2.length); i++){
        v1[i] = v1[i] === undefined ? 0 : v1[i] //数组长度不够就补零
        v2[i] = v2[i] === undefined ? 0 : v2[i]
        if( parseInt(v1[i]) > parseInt(v2[i])){
            return 1
        }else if(parseInt(v1[i]) < parseInt(v2[i])){
            return -1
        }else{
            if(i === Math.max(v1.length,v2.length)-1) //数组遍历到结尾了,仍然相同
            return 0
        }
    }
}
module.exports = {
    compare : compare
};

运行时间:84ms
占用内存:8092KB

主要思路: 先以点为分隔,分成数组,然后以最长的数组长度为循环的条件。如果数组长度不够,就补零。逐位比较,如果相同的话要考虑是否数组都遍历过了一遍,如果已经遍历到结尾了完全相同,那么返回0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值