51,396
社区成员




我道题,我也遇见了,但是我昨晚之后,用例通过86%,仔细看了看,是没有错的呀,不知道错哪里了,请大家研究一下
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
/**
* 实际就是比较字符串大小
*/
public class T1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
StringBuilder sb = new StringBuilder();
String[] contents = in.nextLine().split(",");
Arrays.sort(contents, (o1, o2) -> {
if (o1.startsWith(o2) && !o1.equals(o2)) {
StringBuilder sb1 = new StringBuilder(o2);
int length = o1.length() - o2.length();
for (int i = 0; i < length;i++) {
char c = o1.charAt(i);
sb1.append(c);
}
if (Integer.parseInt(sb1.toString()) > Integer.parseInt(o1)) {
return -1;
} else {
return 1;
}
}
return o1.compareTo(o2);
});
for (int i= contents.length - 1; i >=0; i--) {
sb.append(contents[i]);
}
System.out.println(sb.toString());
}
}
}