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
相关推荐
Echo_NGC22372 分钟前
【联邦学习入门指南】 Part 2:核心挑战与安全机制
人工智能·python·深度学习·安全·机器学习·联邦学习
风好衣轻8 分钟前
[AI] max_num_seqs 参数详解
人工智能·python·深度学习
freejackman9 分钟前
持续集成-Jenkins 基础教程
java·python·ci/cd·自动化·jenkins·持续部署·持续集成
CCPC不拿奖不改名15 分钟前
提示词工程(Prompt Engineering)全体系知识手册
大数据·人工智能·python·搜索引擎·prompt
OnYoung16 分钟前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
亚林瓜子23 分钟前
AWS中国云中的ETL之从Amazon Glue Data Catalog搬数据到MySQL(Glue版)
python·mysql·spark·etl·aws·glue·py
棱镜Coding26 分钟前
LeetCode-Hot100 27.合并两个有序链表
算法·leetcode·链表
Aurora-Borealis.31 分钟前
Day44 简单CNN
python
总有刁民想爱朕ha34 分钟前
Python YOLOv8 进阶教程
开发语言·python·yolo
葱明撅腚37 分钟前
shapely空间数据分析
python·pandas·gis·shapely