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
相关推荐
少林and叔叔19 分钟前
人工智能Pytorch开发环境的搭建
人工智能·pytorch·python·pycharm·conda
电棍23321 分钟前
工程实践心得记录-pytorch要安装在哪里
人工智能·pytorch·python
星期天要睡觉22 分钟前
深度学习——基于 PyTorch 的蔬菜图像分类
人工智能·pytorch·python·深度学习·分类
蒋星熠35 分钟前
Python爬虫抓取豆瓣TOP250数据
人工智能·爬虫·python·网络爬虫·爬山算法
scala舔狗汪1 小时前
python的表白浪漫
python
墨尘笔尖2 小时前
使用子进程实现 C++ 与 Python 交互式控制台
c++·windows·python
码界筑梦坊2 小时前
74-基于Python的蜜雪冰城门店数据可视化分析系统
python·数据分析·flask·毕业设计
风亦辰7392 小时前
从 Hello World 到游戏世界——pygame 快速入门
python·游戏·pygame
Juan_20122 小时前
P1041题解
c++·算法·题解·搜索
程序员爱钓鱼3 小时前
Python编程实战 · 基础入门篇 | 类型转换与输入输出
后端·python