题解 | #字符串排序#

字符串排序

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

全部评论

相关推荐

练习JAVA时长两年半:qps 30000
点赞 评论 收藏
分享
好像有点准
我推的MK:感觉这个表格呢好像有用又好像没用,真有offer了不管加班多么严重也得受着,没offer管他加班什么样也只能看看,反正轮不到我选
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务