字符串的合并处理

字符串合并处理

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

import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str_1= sc.next();
String str_2 = sc.next();
String str = str_1+str_2;
//使用字符串,将转换关系对应如下
String st1 = "abcedfABCEDF0123456789";
String st2 = "5D37BF5D37BF084C2A6E19";
System.out.println(strChange(strSort(str),st1,st2));

    }
}
//字符串转换函数,将排序好的字符串进行相应转换
public static String strChange(String str,String s1,String s2){
    char data[] = str.toCharArray();
    for(int i = 0;i<data.length;i++){
        if('0'<=data[i]&&data[i]<='9'||'A'<=data[i]&&data[i]<='F'||'a'<=data[i]&&data[i]<='f'){
            for(int j=0;j<s2.length();j++){
                if(data[i]==s1.charAt(j)){
                    data[i]=s2.charAt(j);
                    break ;
                }
            }
        }
    }
    return new String(data);
}
//使用两个数组存储按奇数偶数排序后的两个字符数组
public static String strSort(String str){
    char data1[] = new char[str.length()];
    char data2[] = new char[str.length()];
    String sb = "";
    int j=0;
    int m=0;
    for(int i = 0;i<str.length();i++){
        if(i%2==0){
            data1[j++]=str.charAt(i);
        }else if(i%2==1)
            data2[m++]=str.charAt(i);
    }
    Arrays.sort(data1);
    Arrays.sort(data2);
    for(int i = 0;i<str.length();i++){
        sb+=(i%2==0)?data1[m++]:data2[j++];
    }
    return sb;
}

}

全部评论

相关推荐

点赞 评论 收藏
分享
找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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