题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
import java.util.Scanner; /** * Hello world! */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int num = scanner.nextInt(); String[] arr = new String[num]; for (int i = 0; i < arr.length; i++) { arr[i]=scanner.next(); } for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (compare(arr[j],arr[j+1])) { String temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for (String s : arr) { System.out.println(s); } } } public static boolean compare(String a, String b) { int min = Math.min(a.length(), b.length()); int max = Math.max(a.length(), b.length()); for (int i = 0; i < min; i++) { char A = a.charAt(i); char B = b.charAt(i); if (A > B) { return true; } if (A < B) { return false; } } return a.length() > b.length(); } }