app 自己算不算一个词
同一个词库。运行下面这段程序:
def build_trie(words):
t = {}
for w in words:
node = t
for ch in w:
if ch not in node:
node[ch] = {}
node = node[ch]
node["#"] = True
return t
def walk(t, pre):
node = t
for ch in pre:
if ch not in node:
return None
node = node[ch]
return node
def collect(node, cur, out):
if "#" in node:
out.append(cur)
for ch in node:
if ch != "#":
collect(node[ch], cur + ch, out)
t = build_trie(["apple", "app", "apply", "banana"])
print("#" in walk(t, "app"))
全部评论