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
相关推荐
Kobebryant-Manba5 分钟前
学习模型构造
python·深度学习·学习
天天进步20157 分钟前
Python全栈项目--基于Python的数据库管理工具
开发语言·数据库·python
阿提说说8 分钟前
我的 NVIDIA 考试攻略
python·大模型·agent
xyz_CDragon19 分钟前
OpenClaw 局域网调用 Ollama 本地大模型:完整配置与踩坑指南
python·ai编程·集成学习·ollama·deepseek·openclaw
极光代码工作室23 分钟前
基于NLP的论文关键词提取系统
python·深度学习·自然语言处理·nlp
Wang ruoxi27 分钟前
Pygame 小游戏——数独
开发语言·python·pygame
吠品30 分钟前
处理 Python 类继承中那些变来变去的初始化参数
linux·前端·python
人道领域33 分钟前
【LeetCode刷题日记】90.子集Ⅱ--- 归纳题解
java·开发语言·leetcode
会Tk矩阵群控的小木33 分钟前
小红书矩阵软件:基于Python+ADB的多设备批量管理自动化脚本实战
运维·python·adb·矩阵·自动化·新媒体运营·个人开发
复园电子40 分钟前
企业PDF批量盖章开发集成指南:API对接OA/LIMS系统,高并发落地实战
开发语言·python·pdf