题解 | #字符串排序#

字符串排序

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);
        String str = in.nextLine();
        TreeMap<Character, StringBuilder> map = new TreeMap<>();
        for (char c : str.toCharArray()) {
            char d = Character.toLowerCase(c);
            if ('a' <= d && d <= 'z') {
                if (!map.containsKey(d)) {
                    map.put(d, new StringBuilder());
                }
                map.get(d).append(c);
            }
        }

        // 将已排序好的字母部分合并
        StringBuilder sb = new StringBuilder();
        for (Map.Entry<Character, StringBuilder> entry : map.entrySet()) {
           // System.out.println(entry.getKey() + "--" + entry.getValue());
            sb.append(entry.getValue());
        }
        for (int i = 0; i < str.toCharArray().length; i++) {
            char c = str.charAt(i);
            if (c >= 'a' && c <= 'z') {
                continue;

            } else if (c >= 'A' && c <= 'Z') {
                continue;
            } else {
                sb.insert(i, c);
            }
        }
        System.out.println(sb.toString());
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务