题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
List<Character> characters = new ArrayList<>();
char[] charArray = line.toCharArray();
for (char ch : charArray) {
if (Character.isLetter(ch)) {
characters.add(ch);
}
}
characters.sort(new Comparator<Character>() {
@Override
public int compare(Character o1, Character o2) {
return Character.toLowerCase(o1) - Character.toLowerCase(o2);
}
});
StringBuilder sb = new StringBuilder();
for (int i = 0, j=0; i < line.length(); i++) {
if (Character.isLetter(line.charAt(i))){
sb.append(characters.get(j++));
} else {
sb.append(line.charAt(i));
}
}
System.out.println(sb.toString());
}
}

查看9道真题和解析