题解 | #比较版本号#

比较版本号

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串 
 * @param version2 string字符串 
 * @return int整型
 */
function compare( version1 ,  version2 ) {
    // write code here
    const num1 = version1.split('.');
    const num2 = version2.split('.');
    for(let i=0; i<num1.length; i++) {
        // 如果为空补充0
        let s1 = num1[i] || '0';
        let s2 = num2[i] || '0';
        // 如果为'01'这种转换为'1'
        if(s1.startsWith('0') && s1.length > 1) {
            s1 = num1[i].slice(1, num1[i].length);
        }
        if(s2.startsWith('0') && s2.length > 1) {
            s2 = num2[i].slice(1, num2[i].length);
        }
        s1 = parseInt(s1);
        s2 = parseInt(s2);
        if(s1>s2) {
            return 1
        } else if(s1<s2) {
            return -1;
        }
    }
    return 0;
}
module.exports = {
    compare : compare
};

全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 14:35
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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