题解 | #比较版本号#

比较版本号

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

一看到字符串和固定的分隔符就要想起用数组解决

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串 
 * @param version2 string字符串 
 * @return int整型
 */
function compare( version1 ,  version2 ) {
    // write code here
//     用数组解决
    let arr1 = version1.split('.');
    let arr2 = version2.split('.');
    console.log(arr1,arr2)
    let l1 = arr1.length;
    let l2 = arr2.length;
    let small;
//补齐0的思想
    if(l1>l2){
       small = l1-l2;
        while(small--){
            arr2.push('0');
        }
    }else{
        small = l2-l1;
        while(small--){
            arr1.push('0');
        }
    }
    for(let i = 0;i<arr1.length;i++){
        let a = parseInt(arr1[i]);
        let b = parseInt(arr2[i])
        if(a>b){
            return 1;
        }else if(a<b){
            return -1;
        }else if(a == b && i == arr1.length-1){
            return 0;
        }
//         当等于的时候进入下一轮循环
    }
    
}

module.exports = {
    compare : compare
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
03-15 10:59
已编辑
爱写代码的菜code...:哎,自己当时拿到字节offer的时候也在感叹终于拿到了,自己当时最想去的企业就是字节,结果还是阴差阳错去了鹅厂。祝uu一切顺利!!!
点赞 评论 收藏
分享
xiaowl:1. 技能堆叠没有意义,精简下,而且里面的精通、熟练等内容,其实经不起推敲,这里可以简单写清楚你在前端、后端等领域,有哪些你自己比较经验丰富熟练的技能,以及哪些有过一定涉猎,做一定区分度 2. 项目方案有些单薄,但是这个项目本身还是有很多挑战点的,你应该思考下对于里面有难题的挑战点,你是怎么解决的,避免泛泛而谈。比如,多人编辑是一个老大难问题,包括了互斥、协作等,这里可以详细讲一讲你怎么设计解决问题的。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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