题解 | #简洁优雅高效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);
}
查看10道真题和解析
