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
相关推荐
码界筑梦坊8 小时前
153-基于FLask的英国希思罗机场天气数据可视化分析系统
python·信息可视化·数据分析·flask
菜菜的顾清寒8 小时前
力扣HOT100(35)回溯-全排列
算法·leetcode·职场和发展
weixin_468466858 小时前
目标识别算法落地实战:从选型到部署的全流程指南
图像处理·人工智能·python·算法·目标检测·机器视觉·目标识别
NiceCloud喜云8 小时前
Anthropic 发布 Project Glasswing:未公开模型 Mythos 已挖出 10000+ 漏洞,含 OpenBSD 27 年老 bug
android·java·数据库·c++·python·docker·bug
asdzx678 小时前
Python TXT 转 Excel (自动识别分隔符)
python·excel
星越华夏8 小时前
Polars中导入excel文件
python·pandas
Tisfy8 小时前
LeetCode 3121.统计特殊字母的数量 II:状态机
算法·leetcode·题解·状态机
洛水水8 小时前
【力扣100题】61.和为 K 的子数组
算法·leetcode·哈希算法
sheeta19988 小时前
LeetCode 补拙笔记 日期:2026.05.27 题目:61. 旋转链表
笔记·leetcode·链表
weixin_468466859 小时前
大语言模型智能助手核心应用场景与落地指南
人工智能·python·深度学习·神经网络·语言模型·自然语言处理·大语言模型