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