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

字符串合并处理

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

import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Main{
	public static void main(String[] args){
		Scanner in= new Scanner(System.in);
		Solution solution = new Solution();
		//Insert Your Code Here.
		String s=in.nextLine();
		s=s.replaceAll(" ", "");
		solution.core(s);
		in.close();
	}
}
class Solution {
	private static HashMap<Character,Character> map=new HashMap<>();
	static{
		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');
		map.put('A','5');map.put('B','D');
		map.put('C','3');map.put('D','B');map.put('E','7');map.put('F','F');

	}
	public void core(String s) {
		char[] str=s.toCharArray();
		StringBuilder sb_even=new StringBuilder();
		StringBuilder sb_odd=new StringBuilder();
		for(int i=0;i<str.length;i++){
			if(i%2==0)
				sb_even.append(str[i]);
			else
				sb_odd.append(str[i]);
		}
		char[] even=sb_even.toString().toCharArray();
		char[] odd=sb_odd.toString().toCharArray();
		Arrays.sort(even);Arrays.sort(odd);
		StringBuilder res=new StringBuilder();
		for(int i=0;i<even.length;i++){
			char a=even[i];
			if(map.containsKey(a)) res.append(map.get(a));
			else res.append(a);
			if(i<odd.length){
				char b=odd[i];
				if(map.containsKey(b)) res.append(map.get(b));
				else res.append(b);
			}
		}		
		System.out.println(res.toString());
	}

}


全部评论

相关推荐

02-08 15:53
门头沟学院 Java
CoderEcho:让公司知道便宜没好货
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务