Skip to the content.

Problem #94 (Binary Tree Inorder Traversal | Binary Tree, Depth-First Search, Stack, Tree)

Given the root of a binary tree, return the inorder traversal of its nodes’ values.

Example 1

image

Input:

root = [1,null,2,3]

Output:

[1,3,2]

Example 2

Input:

root = []

Output:

[]

Example 3

Input:

root = [1]

Output:

[1]

Constraints


Follow up: Recursive solution is trivial, could you do it iteratively?

Solutions

Stack(Iterative)

Code

Complexity

image

def inorder_traversal(root) result = [] stack = [] current = root while current || stack.length > 0 while current stack.push(current) current = current.left end current = stack.pop() result « current.val current = current.right end result end ```