删除字典内容

来源:10-8 基于哈希表或者数组的Trie

慕斯卡6077156

2021-02-16


相关截图:

http://img.mukewang.com/szimg/602b06a408845f1508640825.jpg

问题描述:比如我输入的是apot字符串,在字典树里删除字符串为什么root里还是有这个字符串。

写回答

1回答

liuyubobobo

2021-02-16

我没有理解你的问题和你的截图中画的红线是什么关系?


但是课程提供的补充代码是没有问题的。使用如下程序程序测试,会先得到 true,再得到 false。如果你在两个 out 的地方添加断点,会看到一个地方的 trie 包含 apot 这个单词相应的节点,第二个 out 部分 trie 已经没有了相应的节点。

public static void main(String[] args) {
    
    Trie trie = new Trie();
    
    trie.add("apot");
    System.out.println(trie.contains("apot"));
    
    trie.remove("apot");
    System.out.println(trie.contains("apot"));
}


我直接将这个测试用例添加到了课程的官方代码中,你直接下载运行课程的官方代码,应该就可以在本地的环境下试验出相应的结果。


请测试在你的环境下运行课程的官方代码,是否有问题?如果没有问题,请仔细调试比较,看看自己的代码哪里有问题。


trie remove 非递归代码传送门:https://git.imooc.com/coding-207/coding-207/src/master/10-Trie/Optional-02-Trie-Delete/src/Trie.java

trie remove 递归代码传送门:https://git.imooc.com/coding-207/coding-207/src/master/10-Trie/Optional-02-Trie-Delete/src/TrieR.java


继续加油!:)

0
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1705 问题

查看课程