题解 | 字符串排序
字符串排序
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 str=in.nextLine();
Map<Integer,StringBuilder> map=new HashMap<>();
char[] res=new char[str.length()];
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
if((ch>=65&&ch<=90)){
StringBuilder sb= map.get(ch-65);
if(sb==null){
sb=new StringBuilder();
}
sb.append(ch);
map.put(ch-65,sb);
}else if(ch>=97&&ch<=122){
StringBuilder sb= map.get(ch-97);
if(sb==null){
sb=new StringBuilder();
}
sb.append(ch);
map.put(ch-97,sb);
} else{
res[i]=ch;
}
}
String sortedStr="";
for(int j=0;j<26;j++){
StringBuilder sb=map.get(j);
if(sb!=null){
sortedStr=sortedStr+sb.toString();
}
}
int k=0;
for(int n=0;n<res.length;n++){
if(res[n]-' '<0){
res[n]=sortedStr.charAt(k);
k++;
}
}
String resStr=new String(res);
System.out.println(resStr);
}
}
字符数组创建一个字符串:String resStr=new String(res);
SHEIN希音公司福利 342人发布