1. public String largestNumber(int[] nums) {
    2. String[] strs = new String[nums.length];
    3. for (int i = 0; i < nums.length; i++) {
    4. strs[i] = String.valueOf(nums[i]);
    5. }
    6. Arrays.sort(strs, (o1, o2) -> {
    7. return (o2 + o1).compareTo(o1 + o2);
    8. });
    9. StringBuilder builder = new StringBuilder();
    10. for (String str : strs) {
    11. builder.append(str);
    12. }
    13. String ans = builder.toString();
    14. char[] str = ans.toCharArray();
    15. int index = -1;
    16. for (int i = 0; i < str.length; i++) {
    17. if (str[i] != '0') {
    18. index = i;
    19. break;
    20. }
    21. }
    22. return index == -1 ? "0" : ans.substring(index);
    23. }