度熊手上有一本神奇的字典,你可以在它裡面做如下三個操作:
1、insert : 往神奇字典中插入乙個單詞
2、delete: 在神奇字典中刪除所有字首等於給定字串的單詞
3、search: 查詢是否在神奇字典中有乙個字串的字首等於給定的字串
input
這裡僅有一組測試資料。第一行輸入乙個正整數n(1≤n≤100000)n(1≤n≤100000),代表度熊對於字典的操作次數,接下來nn行,每行包含兩個字串,中間中用空格隔開。第乙個字串代表了相關的操作(包括: insert, delete 或者 search)。第二個字串代表了相關操作後指定的那個字串,第二個字串的長度不會超過30。第二個字串僅由小寫字母組成。
output
對於每乙個search 操作,如果在度熊的字典中存在給定的字串為字首的單詞,則輸出yes 否則輸出 no。
sample input
5sample outputinsert hello
insert hehe
search h
delete he
search hello
yes注意遞迴刪除和新增字典樹的寫法。no
#include#include#include#include#includeusing namespace std;
const int maxn = 26;
struct trie
}};trie *root =(trie*)malloc(sizeof(trie));
inline void deltrie(trie * t)
}free(t);
return;
}void createtrie(char *str,bool isdel)
else
}else
else}}
if(isdel)
p->next[idx]->flag-=delnum;
p=p->next[idx];}}
}bool findstr(char *str)
return true;
}int main(void)
else if(strcmp(command, "delete")==0)
else
}deltrie(root);
return 0;
}
字典樹(增刪改查 HDU 5687)
度熊手上有一本神奇的字典,你可以在它裡面做如下三個操作 1 insert 往神奇字典中插入乙個單詞 2 delete 在神奇字典中刪除所有字首等於給定字串的單詞 3 search 查詢是否在神奇字典中有乙個字串的字首等於給定的字串 input這裡僅有一組測試資料。第一行輸入乙個正整數n 1 n 10...
python 字典的增刪查
情況1 如果字典中沒有這個鍵值對,則直接追加在字典的後面 情況2 如果字典中由這個鍵值對,則直接修改這個key值對應的value值 情況3 新增多個key value值,上面兩種情況的結合 情況4 另外一種新增方式,新增結果還是上面幾種情況的結合 情況5 setdefault新增key值 如果key...
字典的增刪改查。
增 有則修改,無則新增 dic key 要增加的內容 如果dict中沒有出現這個key,就會新增 乙個key value的組合進dict 有則不變,無則新增 dic.setdefault 李嘉誠 也可以往 裡 面設定值.dic.setdefault 李嘉誠 房地產 如果dict中已經存在了.那麼se...