给你一个整数 num 。重排 num 中的各位数字,使其值 最小化 且不含 任何 前导零。
返回不含前导零且值最小的重排数字。
注意,重排各位数字后,num 的符号不会改变。
/** * @param {number} num * @return {number} */ const smallestNumber = (num) => { if (num <= 0) { return -Math.abs(num).toString().split('').sort().reverse().join('') } const arr = num.toString().split('').sort() const lastZeroIndex = arr.lastIndexOf('0') if (lastZeroIndex === -1) { return Number(arr.join('')) } else { const zeroArr = new Array(lastZeroIndex + 1).fill(0) return Number(`${arr[lastZeroIndex + 1]}${zeroArr.join('')}${arr.slice(lastZeroIndex + 2).join('')}`) } };
标签:数字,number,最小值,num,重排,前导 From: https://www.cnblogs.com/zhenjianyu/p/17102204.html