题解 | #字符串排序#

字符串排序

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());
        }
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务