function creatTrieNode()
return {val = 1}
end
function InsertTrie(node, s)
if node == nil then return end
local k = string.sub(s,1,1)
if node[k] == nil then
node[k] = creatTrieNode()
else
node[k].val = node[k].val + 1
end
if #s > 1 then
InsertTrie(node[k], string.sub(s, 2))
end
end
function SearchTrie(node, s)
if node == nil then return 0 end
local k = string.sub(s,1,1)
if node[k] == nil then
return 0
else
if #s > 1 then
return SearchTrie(node[k], string.sub(s, 2))
else
return node[k].val
end
end
end
local n = creatTrieNode()
local rfile=io.open("1.txt", "r")
assert(rfile)
for str in rfile:lines() do
InsertTrie(n, str)
end
rfile:close()
print("xxxxxxxx", SearchTrie(n, "ab"))