版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/imotolove/article/details/80633057
关于字典树,相信搜到这篇博客的人一定先看了百度百科。
这里使用hash实现
val = [0 for i in range(100000)] #字典树,数组实现
n=int(raw_input())
for i in range(n):
s = raw_input()
l = s.__len__()
num=0
for j in range(l):
num=num*27
num+=ord(s[j])-97+1
val[num]=val[num]+1
m=int(raw_input())
for i in range(m):
s = raw_input()
l = s.__len__()
num = 0
for j in range(l):
num = num * 27
num += ord(s[j])- 97 + 1 #强制转换
print(val[num])
运行截图如下,输出查询的前缀出现多少次