题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import java.util.*;
// mark
// list.sort((o1, o2) -> Character.toLowerCase(o1) - Character.toLowerCase(o2));
// list.sort(Comparator.comparingInt(Character::toLowerCase));
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String s = in.nextLine();
int length = s.length();
List<Character> letterList = new ArrayList<>();
for (int i = 0; i < length; i++) {
char c = s.charAt(i);
if (Character.isLetter(c)) {
letterList.add(c);
}
}
letterList.sort(Comparator.comparingInt(Character::toLowerCase));
int j = 0;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
char c = s.charAt(i);
if (Character.isLetter(c)) {
sb.append(letterList.get(j++));
} else {
sb.append(c);
}
}
System.out.println(sb.toString());
}
}
}


