
二叉树
文章平均质量分 71
怎么啥都不会
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
根据遍历结果构建二叉树
根据遍历结果构建二叉树今天做了两道题:105. 从前序与中序遍历序列构造二叉树106. 从中序与后序遍历序列构造二叉树特地来总结一下:构造二叉树的核心思想就是利用找出根节点,将数组分为左右子树;然后对左右子树也进行这种操作划分为更小的结构,直到子树为空。定义一个子函数用于返回该子树的根节点。1. 前序和中序构建根据前序遍历从根节点开始,即中左右的顺序,可以确定根节点。然后利用根节点在中序遍历中的位置(中序遍历是左中右),就可以将树分为左子树和右子树,然后对于子树们,利用同样的方法就可以在原创 2021-09-10 18:29:54 · 1448 阅读 · 0 评论 -
二叉树三种遍历的迭代实现
二叉树三种遍历的迭代实现三种遍历用同样模板的迭代方式来实现。前序遍历: 中左右中序遍历: 左中右后序遍历:左右中原创 2021-09-05 13:22:49 · 802 阅读 · 0 评论 -
leetcode114---二叉树展开为链表
leetcode114—二叉树展开为链表关键字:二叉树 前序遍历给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]来源:力扣(LeetCode)链接:https://lee原创 2021-07-30 15:59:36 · 306 阅读 · 0 评论 -
初级算法中的树问题
Leetcode初级算法中的树问题原创 2021-06-22 20:30:17 · 159 阅读 · 0 评论 -
leetcode96---不同二叉搜索树的数量
不同二叉搜索树的数量—leetcode96题一、题目描述给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例1:输入: n=3输出:5示例 2:输入:n = 1输出:1二、方法经过简单分析,可以看出n个结点的二叉搜索树与前n-1个存在一定关系,是在前n-1个的基础上进行计算的,所以这是一道动态规划题目。列状态转移方程:采用宏观的思考,不去在意过多的细节。只考虑不同数字作根节点的情况。假设有n个原创 2021-05-01 09:58:22 · 1069 阅读 · 0 评论 -
二叉搜索树转单向链表---leetcode BiNode python实现
二叉搜索树转单向链表—leetcode BiNode1.题目二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。返回转换后的单向链表的头节点。示例:输入: [4,2,5,1,3,null,6,0]输出: [0,null,1,null,2,null,3,null,4,null,5,null,6]提示:节点数量不会超过 10原创 2021-04-30 14:19:09 · 301 阅读 · 0 评论 -
leetcode104---求二叉树深度
leetcode104—求二叉树深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。思路对于二叉树深度问题,深度为左右子树深度最大值加1depth = max(left_depth, right_depth)+1二叉树问题考虑递归方法,通过递归获取左右子树深度,选取最大值完整代码class Solution: def maxDepth(self, root: TreeNode) -> int: if not roo原创 2021-04-29 15:53:05 · 1401 阅读 · 0 评论