描述
给出一棵二叉树,返回其中序遍历。
样例
样例 1:
输入:
二叉树 = {1,2,3}
输出:
[2,1,3]
解释:
1
/ \
2 3
它将被序列化为{1,2,3}中序遍历
样例 2:
输入:
二叉树 = {1,#,2,3}
输出:
[1,3,2]
解释:
1
\
2
/
3
它将被序列化为{1,#,2,3}中序遍历
二叉树的遍历其实用递归做非常简单,无论是前序中序还是后序遍历,都只需要调整一下访问的顺序就行。
直接上代码:
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 inorderTraversal(self, root):
# write your code here
def traversal(root):
if root is None:
return
traversal(root.left)
self.result.append(root.val)
traversal(root.right)
self.result=[]
traversal(root)
return self.result
Tree = TreeNode(1)
Tree.left = TreeNode(2)
Tree.right = TreeNode(3)
s = Solution()
print(s.inorderTraversal(Tree))