其实做一个排序,这个序列中,通过ab,ba谁大这种方式来决定a在前还是b在前

public static class Comp implements Comparator<String>{
    public int compare(String o1,String o2){
        String r1 = o1 + o2;
        String r2 = o2 + o1;
        int t = 0;
        for(int i = 0;i<r1.length();i++){
            char i1 = r1.charAt(i);
            char i2 = r2.charAt(i);
            if(i1>i2){
                return -1;
            }else if(i2>i1){
                return 1;
            }
        }
        return 1;
    }
}
public String solve (int[] nums) {
    //贪心,让大数尽可能往前放
    String[] numStrs = new String[nums.length];
    for(int i = 0;i<nums.length;i++){
        numStrs[i] = nums[i]+"";
    }
    Arrays.sort(numStrs,new Comp());
    StringBuilder builder = new StringBuilder();
    for(String numStr:numStrs){
        builder.append(numStr);
    }
    String res = builder.toString();
    int N = res.length();
    int pre = 0;
    while(pre<N&&res.charAt(pre)=='0'){//前面的0去掉
        pre++;
    }
    return res.substring(Math.min(pre,N-1),N);//别去多了,最少得留个0
}