C++模板:字典树
//插入 void insert(char *s,char *s1){ for(int l=strlen(s),x=0,i=0;i<l;i++){ if(!trie[x].son[s[i]-'a'])trie[x].son[s[i]-'a']=++cnt; x=trie[x].son[s[i]-'a']; if(i==l-1)strcpy(trie[x].hash,s1); } } //查找 int find(char *s){ for(int l=strlen(s),x=0,i=0;i<l;i++){ if(!trie[x].son[s[i]-'a'])return 0; x=trie[x].son[s[i]-'a']; if(i==l-1){ strcpy(ans,trie[x].hash); return strlen(ans)?1:0; } } }
愿你出走半生,归来仍是少年