题解 | #字符串加密#

字符串加密

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

我这种方法 效率和内存都超过了90+,我觉得理解起来也是比较容易跌,大家有兴趣可以看一看找找灵感

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input1 = new String(br.readLine());
        String input2 = new String(br.readLine());
        //先记录一个标准顺序表
        String word = new String("abcdefghijklmnopqrstuvwxyz");
        //再来一个待修改的顺序表
        String word2 = word;
        StringBuffer newword = new StringBuffer();
        for(int i = 0 ; i<input1.length();i++){
            if(word2.contains(String.valueOf(input1.charAt(i)) )){
                //如果有,就删除,再给新表加上
                word2 = word2.replace(String.valueOf(input1.charAt(i)),"");
                newword.append(String.valueOf(input1.charAt(i)));
            }
        }
        //把删除之后剩余部分拿了过来接上
        newword.append(word2);
        //遍历输入的第二行,与标准字母排序,找到对应的单词,记录下标准的单词序号
        //从新单词表中按照这个序号,找到对应的字母,添加到新的字符串中
        StringBuffer newword2 = new StringBuffer();
        for(int i = 0 ;i <input2.length();i++){
            for(int j = 0 ;j<newword.length();j++){
                if(input2.charAt(i)==word.charAt(j)){
                    newword2.append(String.valueOf(newword.charAt(j)));
                }
            }
        }
        System.out.println(newword2);
    }
}



全部评论

相关推荐

牛客40297450...:不是研究生强,是你强
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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