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
相关推荐
AlenTech35 分钟前
141. 环形链表 - 力扣(LeetCode)
数据结构·leetcode·链表
dulu~dulu2 小时前
算法---寻找和为K的子数组
笔记·python·算法·leetcode
编程之升级打怪2 小时前
用Python语言实现简单的Redis缓冲数据库驱动库
redis·python
佑白雪乐2 小时前
<ACM进度212题>[2026-3-1,2026-3-26]
算法·leetcode
穿条秋裤到处跑2 小时前
每日一道leetcode(2026.03.26):等和矩阵分割 II
算法·leetcode·矩阵
x_xbx3 小时前
LeetCode:1. 两数之和
数据结构·算法·leetcode
x_xbx3 小时前
LeetCode:49. 字母异位词分组
算法·leetcode·职场和发展
电商API&Tina3 小时前
电商数据采集API接口||合规优先、稳定高效、数据精准
java·javascript·数据库·python·json
玲娜贝儿--努力学习买大鸡腿版3 小时前
hot 100 刷题记录(1)
数据结构·python·算法
兮℡檬,3 小时前
答题卡识别判卷
开发语言·python·计算机视觉