题解 | #字符串排序#

字符串排序

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-18 22:30
我看都是谁在卷前端!
秋盈丶:搜了下,20人的公司能收到2000份招呼?真有这么夸张吗
点赞 评论 收藏
分享
05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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