Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
awesome-algorithm
提交
8d471ad2
A
awesome-algorithm
项目概览
OpenDocCN
/
awesome-algorithm
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
awesome-algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
8d471ad2
编写于
1月 13, 2018
作者:
K
KEQI HUANG
提交者:
GitHub
1月 13, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update 208._implement_trie_(prefix_tree).md
上级
ea6ccbf0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
86 addition
and
86 deletion
+86
-86
208._implement_trie_(prefix_tree).md
208._implement_trie_(prefix_tree).md
+86
-86
未找到文件。
208._implement_trie_(prefix_tree).md
浏览文件 @
8d471ad2
###208. Implement Trie (Prefix Tree)
题目:
<https://leetcode.com/problems/implement-trie-prefix-tree/>
难度:
Medium
这个Python实现也太精美了吧,谷歌复写之
然后还unlock了一个solution,to read
Trie整个都需要 to read,精美,可爱😊
### 208. Implement Trie (Prefix Tree)
题目:
<https://leetcode.com/problems/implement-trie-prefix-tree/>
难度:
Medium
这个Python实现也太精美了吧,谷歌复写之
然后还unlock了一个solution,to read
Trie整个都需要 to read,精美,可爱😊
```
python
class
TrieNode
(
object
):
def
__init__
(
self
):
"""
Initialize your data structure here.
"""
self
.
childs
=
dict
()
self
.
isWord
=
False
class
Trie
(
object
):
def
__init__
(
self
):
self
.
root
=
TrieNode
()
def
insert
(
self
,
word
):
"""
Inserts a word into the trie.
:type word: str
:rtype: void
"""
node
=
self
.
root
for
letter
in
word
:
child
=
node
.
childs
.
get
(
letter
)
if
child
is
None
:
child
=
TrieNode
()
node
.
childs
[
letter
]
=
child
node
=
child
node
.
isWord
=
True
def
search
(
self
,
word
):
"""
Returns if the word is in the trie.
:type word: str
:rtype: bool
"""
node
=
self
.
root
for
letter
in
word
:
node
=
node
.
childs
.
get
(
letter
)
if
node
is
None
:
return
False
return
node
.
isWord
def
startsWith
(
self
,
prefix
):
"""
Returns if there is any word in the trie
that starts with the given prefix.
:type prefix: str
:rtype: bool
"""
node
=
self
.
root
for
letter
in
prefix
:
node
=
node
.
childs
.
get
(
letter
)
if
node
is
None
:
return
False
return
True
# Your Trie object will be instantiated and called as such:
# trie = Trie()
# trie.insert("somestring")
# trie.search("key")
```
class TrieNode(object):
def __init__(self):
"""
Initialize your data structure here.
"""
self.childs = dict()
self.isWord = False
class Trie(object):
def __init__(self):
self.root = TrieNode()
def insert(self, word):
"""
Inserts a word into the trie.
:type word: str
:rtype: void
"""
node = self.root
for letter in word:
child = node.childs.get(letter)
if child is None:
child = TrieNode()
node.childs[letter] = child
node = child
node.isWord = True
def search(self, word):
"""
Returns if the word is in the trie.
:type word: str
:rtype: bool
"""
node = self.root
for letter in word:
node = node.childs.get(letter)
if node is None:
return False
return node.isWord
def startsWith(self, prefix):
"""
Returns if there is any word in the trie
that starts with the given prefix.
:type prefix: str
:rtype: bool
"""
node = self.root
for letter in prefix:
node = node.childs.get(letter)
if node is None:
return False
return True
# Your Trie object will be instantiated and called as such:
# trie = Trie()
# trie.insert("somestring")
# trie.search("key")
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录