# 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 buildTree(self, inorder, postorder):
"""
:type inorder: List[int]
:type postorder: List[int]
:rtype: TreeNode
"""
n = len(inorder)
inOrderMap = {inorder[i]: i for i in range(n)}
return self.buildTreeUtil(inorder, postorder, inOrderMap, 0, n - 1, 0, n - 1)
def buildTreeUtil(self, inorder, postorder, inOrderMap, pStart, pEnd, iStart, iEnd):
if pStart > pEnd or iStart > iEnd:
return None
root = TreeNode(postorder[pEnd])
rootIdx = inOrderMap[root.val]
root.left = self.buildTreeUtil(inorder, postorder, inOrderMap, pStart, pStart + rootIdx - iStart - 1, iStart,
rootIdx - 1)
root.right = self.buildTreeUtil(inorder, postorder, inOrderMap, pStart + rootIdx - iStart, pEnd - 1, rootIdx + 1,
iEnd)
return root
python-leetcode面试题解之第106题从中序与后序遍历序列构造二叉树-题解.zip
需积分: 1 63 浏览量
2024-04-29
08:14:26
上传
评论
收藏 1KB ZIP 举报
Ddddddd_158
- 粉丝: 1143
- 资源: 281
最新资源
- 背景music,用作业网轮地址
- comment_6e56cd5d6e140046ef1cd248910ea5ca.png
- 基于卷积神经网络的自动驾驶系统的设计与实现
- MySQL的执行原理-2.md
- 基于 FCN 网络对无人机俯拍下的生活场景语义分割(12类别)【包含数据集、完整代码、训练好的结果、权重文件等等】
- CISCN2024-re3-rust-baby(Frida多字节程序插桩爆破)
- soft:磁盘清理工具
- .netcore控制台使用Nssm打包windows服务,加winform管理服务界面
- db-college.sql
- wpf-dragdrop-treeview(WPF较好拖拽效果).7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈