题解 | #字符串排序#
字符串排序
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 s=in.nextLine(); StringBuffer sBuffer=new StringBuffer(); int index=0; for(int i=0;i<s.length();i++){ if(Character.isLetter(s.charAt(i))){ sBuffer.append(sortL(s).charAt(index)); index++; }else sBuffer.append(s.charAt(i)); } System.out.println(sBuffer); } public static String sortL(String s){ //取出字母 List<Character> list=new ArrayList<>(); for (char ch : s.toCharArray()) { if (Character.isLetter(ch)) { list.add(ch); } } //字母排序 list.sort(new Comparator<Character>(){ public int compare(Character o1,Character o2){ return Character.toLowerCase(o1)-Character.toLowerCase(o2); } }); String ans=""; for(char c:list){ ans+=c; } return ans; } }