Binary Tree Traversals
Binary Tree Traversals

Inorder Traversal
Recursive
Code:
ans = [] # To store values
def inorder(root):
if root:
inorder(root.left)
ans.append(root.val)
inorder(root.right)
inorder(root) # Function call
return ans # Return outputs
Iterative
Code:
ans = []
stack = []
curr = root
while True:
if curr is not None:
stack.append(curr)
curr = curr.left
elif stack:
curr = stack.pop()
ans.append(curr.val)
curr = curr.right
else:
break
return ans # Return outputs