Try it here
Leetcode 94 Python Solution

Binary Tree Inorder Traversal


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


Example 1:

Input: root = [1,null,2,3]
Output: [1,3,2]

Example 2:

Input: root = []
Output: []

Example 3:

Input: root = [1]
Output: [1]



  • The number of nodes in the tree is in the range [0, 100].
  • -100 <= Node.val <= 100


Follow up: Recursive solution is trivial, could you do it iteratively?
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        if not root:
            return None
        stack = []
        # Iterative
        cur = root
        res = []
        while cur or stack:
            while cur:
                cur = cur.left
            cur = stack.pop()
            cur = cur.right
        return res
        # Recursive
        def dfs(root):
            if root:
        return stack

Writer profile pic

Uk01 on Feb 08, 2022 at 06:02 am

If you like and would like to contribute, you can write your article here or mail your article to . See your article appearing on the main page and help others to learn.

Post Comment

Comments( 0)


Forgot Password

Please enter your email address below and we will send you information to change your password.