首页 > 其他分享 >重排数字的最小值

重排数字的最小值

时间:2023-02-08 16:14:38浏览次数:42  
标签:数字 number 最小值 num 重排 前导

给你一个整数 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

相关文章