## 没用到API求解,纯暴力解法,在排序那里还有待优化,比如用更好的快速排序、归并排序等
import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); String[] words = new String[num]; String temp = ""; for(int i = 0; i < num; i++) { words[i] = br.readLine(); } for(int j = 0; j < num; j++) { for(int k = j + 1; k < num; k++) { if(isSwap(words[j], words[k])) { temp = words[j]; words[j] = words[k]; words[k] = temp; } } System.out.println(words[j]); } } public static boolean isSwap(String word1, String word2) { for (int i = 0; i < Math.min(word1.length(), word2.length()); i++) { if (word1.charAt(i) - word2.charAt(i) > 0) { return true; }else if(word1.charAt(i) - word2.charAt(i) < 0) { return false; } } if(word1.length() <= word2.length()) { return false; }else { return true; } } }