import java.util.ArrayList; import java.util.Arrays; public class Solution { public String PrintMinNumber(int [] numbers) { Integer[] integers = new Integer[numbers.length]; for (int i = 0; i < numbers.length; i++) { integers[i] = numbers[i]; } Arrays.sort(integers,(x,y) -> { StringBuffer sbr1 = new StringBuffer(); StringBuffer sbr2 = new StringBuffer(); sbr1.append(x).append(y); sbr2.append(y).append(x); String str1 = new String(sbr1); String str2 = new String(sbr2); for (int i = 0; i < str1.length(); i++) { if(str1.charAt(i) != str2.charAt(i)){ return str1.charAt(i) - str2.charAt(i); } } return 0; }); StringBuffer sbr = new StringBuffer(); for (int i = 0; i < integers.length; i++) { sbr.append(integers[i]); } return new String(sbr); } }
转成Integer数组直接排序即可