LeetCode 106. 从中序与后序遍历序列构造二叉树(递归)

题目描述

根据一棵树的中序遍历与后序遍历构造二叉树。
注意:
你可以假设树中没有重复的元素。

LeetCode 106. 从中序与后序遍历序列构造二叉树(递归)_第1张图片

思路

详见链接

代码

class TreeNode:
	def __init__(self,x):
		self.val = x
		self.left = None
		self.right = None
class Solution:
	def buildTree(self,inorder,postorder):
		if not inorder:
			return None
		root = TreeNode(postorder[-1])
		i = inorder.index(root.val)
		root.left = self.buildTree(inorder[:i],postorder[:i])
		root.right = self.buildTree(inorder[i+1:],postorder[i:-1])
		return root

你可能感兴趣的:(Leetcode,从中序与后序遍历序列构造二叉树,递归,leetcode,python3)