Leetcode: Binary Tree Inorder Traversal

Binary Tree Inorder Traversal



Similar Problems:


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

For example:

Given binary tree [1,null,2,3],
   1
    \
     2
    /
   3
return [1,3,2].

Github: code.dennyzhang.com

Credits To: leetcode.com

Leave me comments, if you have better ways to solve.


## Blog link: https://code.dennyzhang.com/binary-tree-inorder-traversal
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def inorderTraversal(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        if root is None:
            return []
        res = []
        stack = []
        p = root
        # initialize the stack
        while p:
            stack.append(p)
            p = p.left

        # DFS
        while(len(stack) != 0):
            top_item = stack.pop()
            res.append(top_item.val)
            if top_item.right:
                p = top_item.right
                while p:
                    stack.append(p)
                    p = p.left
        return res
linkedin
github
slack

Share It, If You Like It.

Leave a Reply

Your email address will not be published.