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
相关推荐
LuminousCPP10 小时前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
鬼手点金10 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
存在morning10 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
Forever Nore10 小时前
LeetCode 14 最长公共前缀 - 纵向扫描
linux·服务器·leetcode
vx-程序开发10 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
心运软件10 小时前
基于深度学习的宝石图像分类系统
人工智能·python·深度学习·机器学习·分类·数据挖掘
圣保罗的大教堂11 小时前
leetcode 3090. 每个字符最多出现两次的最长子字符串 简单
leetcode
一木 之林11 小时前
AI实战 : Numpy图像处理与深度学习框架
python
c_lb728811 小时前
零基础选策略工具,先分清三件事
人工智能·python
夜雪一千11 小时前
Python如何使用XPath定位没有特征的元素?无id、无class通用定位技巧
开发语言·python