js 题解

比较版本号

http://www.nowcoder.com/questionTerminal/2b317e02f14247a49ffdbdba315459e7

思路

1.版本号切割成数组,并且把字符串数字转成数字类型,这里有一个特别的点就是,字符串转数字的时候 '0011' 会转成 11
2.然后计算两个切割数组的长度,如果长度不一致,填充0直到长度一致
3.然后就是比较 > < 如果等于 继续寻找知道结束 返回0

 // 核心代码
 var arr1 = version1.split('.').map(item => Number(item)),
        arr2 = version2.split('.').map(item => Number(item)),
        maxLen = Math.max(arr1.length, arr2.length);
    while(arr1.length < maxLen) arr1.push(0);
    while(arr2.length < maxLen) arr2.push(0);
    for (let i = 0; i < maxLen; i++) {
        if (arr1[i] > arr2[i]) return 1;
        if (arr1[i] < arr2[i]) return -1
    }
    return 0
全部评论
用数组不符合空间复杂度为O(1)的要求。
点赞 回复 分享
发布于 2024-01-24 15:33 北京

相关推荐

02-26 16:52
门头沟学院 Java
Lunarloop:董事长亲自到ssob来要IM项目的技术方案来了
点赞 评论 收藏
分享
03-18 09:45
莆田学院 golang
牛客749342647号:佬,你这个简历模板是哪个,好好看
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客企业服务