leetcode中等2165重排数字的最小值

Posted qq_40707462

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等2165重排数字的最小值相关的知识,希望对你有一定的参考价值。

给你一个整数 num 。重排 num 中的各位数字,使其值 最小化 且不含 任何 前导零。

返回不含前导零且值最小的重排数字。

注意,重排各位数字后,num 的符号不会改变。

示例 1:

输入:num = 310
输出:103
解释:310 中各位数字的可行排列有:013031103130301310 。
不含任何前导零且值最小的重排数字是 103 。
示例 2
输入:num = -7605
输出:-7650
解释:-7605 中各位数字的部分可行排列为:-7650-6705-5076-0567。
不含任何前导零且值最小的重排数字是 -7650

思路:转为string,各种api

class Solution 
    public long smallestNumber(long num) 
        if(num==0) return 0;
        char[]arr=String.valueOf(num).toCharArray();
        Arrays.sort(arr);
        if(num<0)
            StringBuilder sb=new StringBuilder
            		(String.valueOf(arr,1,arr.length-1)).reverse();
            return Long.parseLong(sb.toString())*(-1);
        
        String s=new String(arr);
        int i=s.lastIndexOf("0");
        if(i==-1) return Long.parseLong(s);
        return Long.parseLong
        	(s.substring(i+1,i+2)+s.substring(0,i+1)+s.substring(i+2));
    

以上是关于leetcode中等2165重排数字的最小值的主要内容,如果未能解决你的问题,请参考以下文章

解题报告力扣 第 279 场周赛

leetcode 155. Min Stack最小栈(中等)

⭐算法入门⭐《堆》中等03 —— LeetCode 373. 查找和最小的K对数字

⭐算法入门⭐《堆》中等03 —— LeetCode 373. 查找和最小的K对数字

leetcode中等143重排链表

leetcode中等143重排链表