题目
输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。
代码实现
class Solution {
public String minNumber(int[] nums) {
int len = nums.length;
//把整型数组转化成字符串数组
String[] str = new String[len];
for (int i = 0; i < str.length; i++) {
str[i] = String.valueOf(nums[i]);
}
//给字符串数组排序
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o1+o2).compareTo(o2+o1);
}
});
//把字符串拼接返回
StringBuilder builder = new StringBuilder();
for (int i = 0; i < str.length; i++) {
builder.append(str[i]);
}
return builder.toString();
}
}