题解 | #比较版本号#

比较版本号

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串
 * @param version2 string字符串
 * @return int整型
 */
function compare(version1, version2) {
    // write code here
    let v1 = version1.split(".");
    let v2 = version2.split(".");
    const maxLength = Math.max(v1.length, v2.length);
    const diff = v1.length - v2.length;
    const fill = new Array(Math.abs(diff)).fill(0);
    diff > 0 ? (v2 = v2.concat(fill)) : (v1 = v1.concat(fill));
    for (let i = 0; i < maxLength; i++) {
        if (parseInt(v1[i]) > parseInt(v2[i])) {
            return 1;
        }
        if (parseInt(v1[i]) < parseInt(v2[i])) {
            return -1;
        }
    }
    return 0;
}
module.exports = {
    compare: compare,
};

解题思路:字符串切割成数组,然后填补长度差,再一一比较

#比较版本号#
全部评论

相关推荐

02-06 16:33
门头沟学院 Java
Phoenix_Re...:很少最多一两个,大多数保研或者摆烂等着考研
点赞 评论 收藏
分享
累死的一条狗:***一人顶10人那你给我发10个人的工资总和吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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