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
相关推荐
坐吃山猪4 分钟前
Python09_正则表达式
开发语言·python·正则表达式
deephub8 分钟前
从检索到回答:RAG 流水线中三个被忽视的故障点
人工智能·python·大语言模型·向量检索·rag
yiruwanlu10 分钟前
乡村文旅设计师推荐:建筑设计能力筛选要点解析
python·ui
站大爷IP11 分钟前
Python 操作 Word 页眉页脚完整指南
python
SomeB1oody17 分钟前
【Python深度学习】2.1. 卷积神经网络(CNN)模型理论(基础):卷积运算、池化、ReLU函数
开发语言·人工智能·python·深度学习·机器学习·cnn
_日拱一卒1 小时前
LeetCode:240搜索二维矩阵Ⅱ
数据结构·线性代数·leetcode·矩阵
WolfGang0073211 小时前
代码随想录算法训练营 Day33 | 动态规划 part06
算法·leetcode·动态规划
solicitous1 小时前
python数据抓取
python
米粒11 小时前
力扣算法刷题 Day 41(买卖股票)
算法·leetcode·职场和发展
HaiXCoder1 小时前
Kotlin vs Python 知识点对照表
python