题意 :给出两组字符串 一一映射,给出一种组成的文字,要求映射成另外一种
思路:使用字典树,把映射的另外一个字符存在字典树的单词节点处 例如 abc 123
则把123存在abc节点中的c处即可
同时这里使用的是静态的数组,操作和写起来都更方便,就是要提前判断开的空间,过大过小都会有莫名其妙的错误
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 const int maxn=5e5+5; 6 const int size=26; 7 struct Trie{ 8 int ch[maxn][size]; 9 char str[maxn][20]; 10 bool isEnd[maxn]; 11 int size; 12 void init(){ 13 size=1; 14 memset(ch,0,sizeof(ch)); 15 memset(isEnd,0,sizeof(isEnd)); 16 } 17 int index(char s){ 18 return s-'a'; 19 } 20 void insert(char*s1,char*s2){ 21 int i,rt; 22 for(i=rt=0;s1[i]!='