# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
#
# @param root TreeNode类 the root of binary tree
# @return int整型二维数组
#
class Solution:
def threeOrders(self , root ):
# write code here
def preOrder(root):
if not root: return
stack = []
while root or stack:
while root:
self.pre_res.append(root.val)
stack.append(root)
root = root.left
root = stack.pop()
root = root.right
def inOrder(root):
if not root: return
stack = []
while root or stack:
while root:
stack.append(root)
root = root.left
root = stack.pop()
self.in_res.append(root.val)
root = root.right
def postOrder(root):
if not root: return
stack = []
while root or stack:
while root:
self.post_res.append(root.val)
stack.append(root)
root = root.right
root = stack.pop()
root = root.left
self.pre_res = []
self.in_res = []
self.post_res = []
preOrder(root)
inOrder(root)
postOrder(root)
return [self.pre_res, self.in_res, self.post_res[::-1]]
二叉树前、中、后序遍历
最新推荐文章于 2022-04-15 13:37:13 发布