题解 | #字符串合并处理#

字符串合并处理

https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String str = in.next() + in.next();
            char[]arr=str.toCharArray();
            char[]even = new char[(arr.length+1)/2];
            char[]odd = new char[arr.length-even.length];
            int x=0,y=0;
            for(int i=0;i<arr.length;i++) {
                if((i&1)==0) {
                    even[x++] = arr[i];
                } else {
                    odd[y++] = arr[i];
                }
            }
            Arrays.sort(even);
            Arrays.sort(odd);
            x=y=0;
            for(int i=0;i<arr.length;i++) {
                if((i&1)==0) {
                    arr[i] = even[x++];
                } else {
                    arr[i] = odd[y++];
                }
            }
            Map<Character, String> map = new HashMap<>();
            map.put('0',"0");
            map.put('1',"8");
            map.put('2',"4");
            map.put('3',"C");
            map.put('4',"2");
            map.put('5',"A");
            map.put('6',"6");
            map.put('7',"E");
            map.put('8',"1");
            map.put('9',"9");
            map.put('a',"5");
            map.put('b',"D");
            map.put('c',"3");
            map.put('d',"B");
            map.put('e',"7");
            map.put('f',"F");

            StringBuilder sb = new StringBuilder();
            for(int i=0;i<arr.length;i++) {
                char c = arr[i];
                if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F'){
                    sb.append(map.get(Character.toLowerCase(c)));
                } else {
                    sb.append(c);
                }
            }
            System.out.println(sb.toString());
        }
    }

}

全部评论

相关推荐

03-31 16:42
已编辑
郑州西亚斯学院 后端
Java抽象带篮子:你简历少了几个模块看上去就感觉信息很少,简历怎么写可以看看我发的帖子
点赞 评论 收藏
分享
03-29 15:34
门头沟学院 Java
北斗导航Compass低仿版:能不能先搞清楚优先级啊,怎么可能是项目问题,项目很重要吗?又没学历 又没实习大厂凭啥约面?那玩具项目 没应用在真实生产环境下的 就算做上天又有什么用?早点找个小公司实习 拿小公司实习去投大厂实习,这才是你现在该做的
投递美团等公司8个岗位 简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务