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 小时前
LeetCode hot100——对称二叉树
算法·leetcode·职场和发展
青 春 记 忆3 小时前
零基础入门python30:Flask个人账本从空目录运行与阶段验收
python·flask·后端开发
Navigator_Z3 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget
c语言·算法·leetcode
l1258653 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
金銀銅鐵5 小时前
斐波那契数列的个位数出现的周期是多少?
python·数学
whcyhhh6 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
qq_316411036 小时前
专业的腹腔镜医疗器械物联网APP开发服务商
python
阿童木写作6 小时前
跨境电商翻译利器,批量图片视频翻译+智能抠图工具
python·音视频
绘梨衣5477 小时前
异步任务队列-学习2
爬虫·python·学习·任务队列
用户8356290780518 小时前
使用 Python 在 Excel 中插入 OLE 对象
后端·python