Tree Traversal Target: 15s
Recursive trie deletion prunes empty branches. Checks if children remain before removing.
def delete(node, word, i=0):
if i == len(word):
node.end = False
return len(node.children) == 0
c = word[i]
if delete(node.children[c], word, i+1):
del node.children[c]
return not node.end and len(node.children) == 0
Type it from memory. Go.