public String minNumber(int[] nums) {
if (nums == null || nums.length == 0) {
return null;
}
String[] str = new String[nums.length];
for (int i = 0; i < nums.length; i++) {
str[i] = String.valueOf(nums[i]);
}
Arrays.sort(str, new Comparator<String>(){
public int compare(String s1, String s2) {
return (s1 + s2).compareTo(s2 + s1);
}
});
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length; i++) {
sb.append(str[i]);
}
String res = sb.toString();
int i = 0;
while (i < nums.length && res.charAt(i) == '0')
i++;
if (i == nums.length) {
return "0";
} else{
res = res.replaceFirst ("^0*", "");
return res;
}
}