题解 | #简洁优雅高效O(n)#

分隔符

https://www.nowcoder.com/practice/e5696992841841a8ab9d026324e4bb77

1. 主要是区分符号, 先转化为正数再处理
2. 倒序遍历,每3个字符加个逗号,到首位字符的时候不增加逗号
function _comma(number) {
// 补全代码
    const sign = number > 0;
    const str = Math.abs(number).toString();
    let res = [], cnt = 0;
    for (let i = str.length - 1; i >= 0; i--) {
        res.push(str[i]);
        if ((++cnt) % 3 == 0 && i != 0) {
            res.push(',');
            cnt = 0;
        }
    }
    const ans = res.reverse().join('');
    return sign ? ans : ('-' + ans);
}



全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务