题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.function.BiConsumer; public class Main{ public static void main(String[] args) {

    StringBuffer sb = new StringBuffer();
    InputStreamReader reader = new InputStreamReader(System.in);
    try(BufferedReader bf = new BufferedReader(reader)){
        String line = bf.readLine();
        char[] chars = line.toCharArray();

        //用于接受结果字符数组 再进行索引拼接
        ArrayList<Character> characters = new ArrayList<>();

        LinkedHashMap<Integer, Character> map = new LinkedHashMap<>();


        //查找非字母的位置 并记录其值 后期直接插入
        for (int i = 0; i < chars.length; i++) {
            if (!Character.isLetter(chars[i]))map.put(i,chars[i]);
        }
        
        //正则去除非字母元素
        String line_letter = line.replaceAll("[^a-zA-Z]", "");

        char[] charArray = line_letter.toCharArray();

        char tmp = 0;
        //冒泡
        for (int i = 0; i < charArray.length-1; i++) {
            for (int j = 0; j < charArray.length-1; j++) {
                if (Character.toLowerCase(charArray[j])>Character.toLowerCase(charArray[j+1])){
                    tmp = charArray[j];
                    charArray[j]= charArray[j+1];
                    charArray[j+1] = tmp;
                }
            }
        }

        for (int i = 0; i < charArray.length; i++) {
            characters.add(charArray[i]);
        }

        //遍历 存储非字母的Map  key:非字母在原字符串的索引  value:非字符本身
        map.forEach(new BiConsumer<Integer, Character>() {
            @Override
            public void accept(Integer key, Character value) {
                characters.add(key,value);
            }
        });

        characters.forEach(item->sb.append(item));

        System.out.println(sb.toString());


    }catch (IOException e){
        System.out.println(e.getMessage());
    }

}

}

全部评论

相关推荐

1 1 评论
分享
牛客网
牛客企业服务