diff --git a/tries/trie_preorder.py b/tries/trie_preorder.py new file mode 100644 index 0000000..f72d524 --- /dev/null +++ b/tries/trie_preorder.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# author: bt3gl + + +def preorder(root: 'Node'): + + if root is None: + return [] + + stack, result = [root, ], [] + + while stack: + node = stack.pop() + result.append(node.val) + stack.extend(node.children[::-1]) + + return result