剑指offer45.把数组排成最小的数

剑指offer45.把数组排成最小的数_第1张图片

 打死我也想不到这道题是一个排序,但为什么是排序题,没有题解讲了,我也不知道,反正排序就对了。但是它排序不是直接比,而是两个字符串前后相加来比。因为“330”>"303",所以"30"<"3",所以30排在3前面,字典序的比较规则是先比第一个字符,第一个相同比较第二个。下面给出了冒泡排序和快速排序的方法。

class Solution {
    public String minNumber(int[] nums) {
       String[] str = new String[nums.length];
       for(int i=0;i= 0){
                  tmp = str[i];
                  str[i] = str[j];
                  str[j] = tmp;
              }
          }
    } 
}
class Solution {
    public String minNumber(int[] nums) {
       String[] str = new String[nums.length];
       for(int i=0;i= r) return;
        int i = l, j=r;
        String tmp = str[i];
        while(i= 0 && i

你可能感兴趣的:(剑指offer,算法,java,leetcode)