题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String aa= in.nextLine();
//找出字母的list
List<Character> list =new ArrayList<>();
//找出不是字母的下标
List<Integer> notletter =new ArrayList<>();
for(int i=0;i<aa.length();i++){
if(Character.isLetter(aa.charAt(i))){
list.add(aa.charAt(i));
}else {
notletter.add(i);
}
}
//不区分大小写排序
list.sort(new Comparator<Character>(){
@Override
public int compare(Character o1,Character o2){
return Character.toLowerCase(o1)-Character.toLowerCase(o2);
}
});
//排好序的进行添加
StringBuilder stringBuilder =new StringBuilder();
for (Character character : list) {
stringBuilder.append(character);
}
//插入不是字母的字符
for (Integer integer : notletter) {
stringBuilder.insert(integer,String.valueOf(aa.charAt(integer)));
}
System.out.println(stringBuilder.toString());
}
}
#刷题#
查看25道真题和解析