天天看點

【LintCode 簡單】67. 二叉樹的中序周遊

1.問題描述:

給出一棵二叉樹,傳回其中序周遊。中根序周遊:先周遊左子樹,然後周遊根結點,最後周遊右子樹。

2.樣例:

給出二叉樹 

{1,#,2,3}

,

1
    \
     2
    /
   3      

傳回 

[1,3,2]

.

3.代碼:

遞歸實作

"""
Definition of TreeNode:
class TreeNode:
    def __init__(self, val):
        self.val = val
        self.left, self.right = None, None
"""


class Solution:
    """
    @param: root: A Tree
    @return: Inorder in ArrayList which contains node values.
    """
    
    def __init__(self):
        self.__A = []

    
    def inorderTraversal(self, root):
        # write your code here
        if root is None:
            return self.__A
        lchild=root.left
        rchild=root.right
        
        self.inorderTraversal(lchild)
        self.__A.append(root.val)
        self.inorderTraversal(rchild)
        return self.__A