【Leetcode】208. Implement Trie (Prefix Tree)

Implement a trie with insert, search, and startsWith methods.


1 先建立一个TrieNode的class,此TrieNode的特有属性有:self.children,children默认的类型也是TrieNode;还有一个属性是is_word,默认值是False

2 在Trie class中,init函数中需要先把root实例化

3 在insert函数中,需要将word中的每一个letter都insert进去,使用循环一个一个insert到上一个节点的children中去;将word添加完后,需要将is_word属性置成True

4 在search函数中,在search的过程中,也是一个letter一个letter的search,只要有一个不在trie中,将返回False,当循环结束,所有letter都在Trie中时,返回True

5 startsWith函数,和search一样,只是这里是一个一个判断prefix中的letter

6 current = current.children.get(letter)

            if current is None:

                return False

一定要先赋值给current了再判断,因为下一个循环有用到current


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容