Inorder Traversal

^2f6900

rootNode inbetween the childrens. So left, root, right

Recursive

def inorderOrderTraversal(rootNode: TreeNode) -> None:
    if not rootNode:
        return None

    inorderOrderTraversal(rootNode.left)
    visit(rootNode)
    inorderOrderTraversal(rootNode.right)

Iterative

def inorderOrderTraversalIterative(rootNode: TreeNode) -> None:
    if not rootNode:
        return None

    curr = rootNode
    stack = deque() # NOTE the stack is empty here

    while stack or curr:
        while curr is not None:
            stack.append(curr)
            curr = curr.left
        curr = stack.pop()
        visit(curr)
        curr = curr.right

^825f14