From a42c13186c812e12df791b937b125cc584e74ce2 Mon Sep 17 00:00:00 2001 From: bt3gl <138340846+bt3gl-cryptographer@users.noreply.github.com> Date: Tue, 8 Aug 2023 14:21:03 -0700 Subject: [PATCH] Update bt_preorder.py --- trees/bt_preorder.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/trees/bt_preorder.py b/trees/bt_preorder.py index 396e53b..352cc05 100644 --- a/trees/bt_preorder.py +++ b/trees/bt_preorder.py @@ -8,4 +8,20 @@ def preorder(root) -> list: return [] return [root.val] + preorder(root.left) + preorder(root.right) + +def preorder_iterative(root) -> list: + + result = [] + stack = [root] + + while stack: + + node = stack.pop() + + if node: + result.append(node.val) + stack.append(node.right) # not the order + stack.append(node.left) + + return result