输入包含多行,第一行包含一个整数n,代表字符串数组strs的长度,后面n行,每行一个字符串,代表strs[i](保证所有字符串长度都小于10)。
输出一行,包含一个字符串,代表返回的字典序最小的字符串。
2 abc de
abcde
2 b ba
bab
时间复杂度,额外空间复杂度。
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Arrays; import java.util.Comparator; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); String[] strs = new String[n]; for(int i = 0; i < n; i++) strs[i] = br.readLine(); Arrays.sort(strs, new Comparator<String>(){ @Override public int compare(String s1, String s2) { return (s1 + s2).compareTo(s2 + s1); } }); StringBuilder sb = new StringBuilder(); for(int i = 0; i < n; i++) sb.append(strs[i]); System.out.println(sb.toString()); } }