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;
            }
        }

results matching ""

    No results matching ""