Python | Leetcode Python题解之第105题从前序与中序遍历序列构造二叉树

题目:

题解:

python 复制代码
class Solution:
    def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:
        if not preorder:
            return None

        root = TreeNode(preorder[0])
        stack = [root]
        inorderIndex = 0
        for i in range(1, len(preorder)):
            preorderVal = preorder[i]
            node = stack[-1]
            if node.val != inorder[inorderIndex]:
                node.left = TreeNode(preorderVal)
                stack.append(node.left)
            else:
                while stack and stack[-1].val == inorder[inorderIndex]:
                    node = stack.pop()
                    inorderIndex += 1
                node.right = TreeNode(preorderVal)
                stack.append(node.right)

        return root
相关推荐
剑挑星河月6 小时前
35.搜索插入位置
java·数据结构·算法·leetcode
冰暮流星6 小时前
python之flask框架讲解-准备
开发语言·python·flask
闪电悠米6 小时前
力扣hot100-438.找到字符串中所有字母异位词-固定长度滑动窗口详解
linux·服务器·数据结构·算法·leetcode·滑动窗口·力扣hot100
2501_9475758014 小时前
计算机毕业设计之jsp开山车行二手车交易系统
java·开发语言·hadoop·python·信息可视化·django·课程设计
Byron__15 小时前
AI学习_06_短期记忆与长期记忆
人工智能·python·学习
取经蜗牛16 小时前
Python 第一阶段完全指南:从零到第一个实用工具
开发语言·python
创世宇图16 小时前
【Python工程化实战】OpenTelemetry 在 Python 中的全链路追踪落地:从埋点到可视化的完整实战指南
python·分布式链路追踪·性能监控·opentelemetry·微服务可观测性
许彰午17 小时前
72_Python爬虫基础BeautifulSoup
爬虫·python·beautifulsoup
zhanghongyi_cpp18 小时前
10. 实验书3.4.2 筛选达到预警阈值的病虫害数据
python
tuddy78946418 小时前
Codex++ 安全边界探秘:从模型能力到风险防御
人工智能·python·安全