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
相关推荐
仟濹3 分钟前
【算法打卡day19(2026-03-11 周三)算法:打家劫舍-DP,双指针,二分查找,滑动窗口,方向控制,前缀和 】8个题
算法·leetcode·二分查找·动态规划
样例过了就是过了4 分钟前
LeetCode热题100 腐烂的橘子
数据结构·c++·算法·leetcode·bfs
前端付豪10 分钟前
拍照识题 OCR
前端·后端·python
Chan1612 分钟前
LeetCode 热题 100 | 链表
java·数据结构·spring boot·算法·leetcode·链表·java-ee
灰色小旋风15 分钟前
力扣第九题C++回文数
c++·算法·leetcode
iFeng的小屋16 分钟前
【2026最新携程酒店爬虫分享】用Python批量爬取酒店评论,含回复内容一键保存Excel!
开发语言·爬虫·python
赵丙双25 分钟前
python-docx 报错 KeyError: “There is no item named ‘NULL‘ in the archive“
python·word·docx·python-docx
不光头强26 分钟前
抽象类和接口的区别
java·开发语言·python
ShoreKiten27 分钟前
Flask/ssti --by vulhub
后端·python·flask
cpp_250135 分钟前
P1359 租用游艇
c++·算法·题解·洛谷·线性dp