题解 | #字符串排序#
字符串排序
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();
}
}