树
文章平均质量分 50
jialun0116
浙江工业大学
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
124. 二叉树中的最大路径和
124. 二叉树中的最大路径和 知识点:二叉树 题目链接 题目描述 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回其 最大路径和 。 示例 1: 输入:root = [1,2,3] 输出:6 解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6 示例 2: 输入:roo原创 2021-05-10 20:52:48 · 324 阅读 · 0 评论 -
Leetcode热题 101. 对称二叉树
101. 对称二叉树 知识点:二叉树 题目链接 题目描述 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 进阶: 你可以运用递归和迭代两种方法解决这个问题吗? 代码 struct TreeNode { in原创 2021-05-07 20:16:05 · 141 阅读 · 0 评论 -
JZ23_二叉树的后序遍历
JZ23_二叉树的后序遍历 知识点:二叉树 题目链接 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 示例1 输入:[4,8,6,12,16,14,10] 返回值: true 解题思路 首先我们明白 后序遍历是 左 右 根 后序遍历的结果 最后的一定是根 这样我们就可以找到左右子树 我们采用递归的方式 明确三点 第一 递归的参数 我们需要知道数组是什么 数组的哪些范围内 需要我们判断 第二 返回的原创 2021-03-06 23:08:42 · 140 阅读 · 0 评论 -
Leetcode刷题笔记103. 二叉树的锯齿形层序遍历
103. 二叉树的锯齿形层序遍历 时间:2020年12月22日 知识点:二叉树、广度优先 题目链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/ 题目 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \原创 2020-12-22 10:26:31 · 214 阅读 · 0 评论 -
Leetcode刷题笔记 222. 完全二叉树的节点个数
222. 完全二叉树的节点个数 时间:2020年11月24日 知识点:完全二叉树、二分查找 题目链接:https://leetcode-cn.com/problems/count-complete-tree-nodes/ 题目 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例: 输入: 1原创 2020-11-24 13:27:14 · 217 阅读 · 0 评论 -
Leetcode刷题笔记 129. 求根到叶子节点数字之和
129. 求根到叶子节点数字之和 时间:2020年10月29日 知识点:递归、二叉树 题目链接:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/ 题目 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入:[1,2,3]原创 2020-10-29 16:18:47 · 137 阅读 · 0 评论 -
Leetcode刷题笔记 144. 二叉树的前序遍历
144. 二叉树的前序遍历 时间:2020年10月27日 知识点:dfs、stack 题目链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ 题目 给定一个二叉树,返回它的前序遍历。 示例1 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 思路 递归函数 以根节点 - 左节点 - 右节点顺序原创 2020-10-27 10:05:50 · 145 阅读 · 0 评论 -
Leetcode刷题笔记 24. 两两交换链表中的节点
24. 两两交换链表中的节点 知识点:链表、递归、迭代 时间:2020年10月13日 题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/ 题目 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例1 输入: head = [1,2,3,4] 输出: [2,1,4,3] 示例2 输入: head = [] 输出: [] 示例3 输入: head = [1] 输出: [原创 2020-10-13 16:31:36 · 213 阅读 · 0 评论 -
Leetcode刷题笔记 530. 二叉搜索树的最小绝对差
二叉搜索树的最小绝对差 知识点:二叉树、中序遍历 时间:2020年10月12日 题目链接:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst// 题目 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例1 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 思路 这是一棵二原创 2020-10-12 21:02:26 · 157 阅读 · 0 评论 -
Leetcode刷题笔记 701. 二叉搜索树中的插入操作
701. 二叉搜索树中的插入操作 知识点:二叉树、递归、非递归 时间:2020年9月30日 题目链接:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/ 题目 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 示例1原创 2020-09-30 11:01:12 · 162 阅读 · 0 评论 -
Leetcode刷题笔记 145. 二叉树的后序遍历(递归和非递归两种)
145. 二叉树的后序遍历 知识点:二叉树、stack 时间:2020年9月29日 题目链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ 题目 给定一个二叉树,返回它的后序 遍历。 示例1 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 思路 方法1: 与前序遍历相对称 详见博客 前序遍历:根左右原创 2020-09-29 19:41:27 · 244 阅读 · 0 评论 -
Leetcode刷题笔记 117. 填充每个节点的下一个右侧节点指针 II
117. 填充每个节点的下一个右侧节点指针 II 知识点:二叉树、队列 时间:2020年9月28日 题目链接:https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node-ii/ 题目 给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将原创 2020-09-28 21:54:05 · 271 阅读 · 0 评论 -
Leetcode刷题笔记 235. 二叉搜索树的最近公共祖先
235. 二叉搜索树的最近公共祖先 知识点:二叉树、回溯 时间:2020年9月27日 题目链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。原创 2020-09-27 17:48:43 · 218 阅读 · 0 评论 -
Leetcode刷题笔记 113. 路径总和 II
113. 路径总和 II 知识点:二叉树、回溯 时间:2020年9月26日 题目链接:https://leetcode-cn.com/problems/path-sum-ii/ 题目 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例1 输入: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / /原创 2020-09-26 21:04:16 · 162 阅读 · 0 评论 -
Leetcode刷题笔记 105. 从前序与中序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树 知识点:二叉树、递归 时间:2020年9月25日 题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 题目 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 示例1 输入: 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 输原创 2020-09-25 13:47:32 · 192 阅读 · 0 评论 -
Leetcode刷题笔记 106. 从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树 知识点:二叉树、递归 时间:2020年9月25日 题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 题目 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 示例1 输入: 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3]原创 2020-09-25 13:39:43 · 172 阅读 · 0 评论 -
Leetcode刷题笔记 501. 二叉搜索树中的众数
501. 二叉搜索树中的众数 知识点:二叉树、递归 时间:2020年9月24日 题目链接:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/ 题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索树 示例1 输入: 给定 BST [1,nul原创 2020-09-24 18:15:10 · 321 阅读 · 0 评论 -
Leetcode刷题笔记 617. 合并二叉树
968. 监控二叉树 知识点:二叉树、递归 时间:2020年9月23日 题目链接:https://leetcode-cn.com/problems/merge-two-binary-trees/ 题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例1 输入: Tree 1原创 2020-09-23 10:06:20 · 297 阅读 · 0 评论 -
红黑树详解+代码解析(转载)
红黑树详解预备知识平衡二叉搜索树二叉搜索树平衡改进二叉搜索树AVL 树平衡因子B树B 树 VS 二叉搜索树红黑树定义和性质红黑树与 B 树的等价变换红黑树的基本操作左旋右旋变色变换规则红黑树搜索红黑树插入插入后实现自平衡红黑树删除定位删除的位置删除后实现自平衡 转载自:https://juejin.im/post/5e509b27f265da57455b3f33#heading-19 红黑树(Red Black Tree)是一种自平衡的二叉搜索树(Self-balancing Binary Search T转载 2020-07-16 16:44:25 · 1003 阅读 · 0 评论 -
B树和B+树在MongoDB和Mysql中应用(转载)
从 MongoDB 及 Mysql 谈B/B+树 转载:https://blog.youkuaiyun.com/wwh578867817/article/details/50493940 B-树由来 定义:B-树是一类树,包括B-树、B+树、B*树等,是一棵自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。B-树是专门为外部存储器设计的,如磁盘,它对于读取和写入大块数据有良好的性能,所以一般被用在文件系统及数据库中。 定义只需要知道B-树允许每个节点有更多的子节点即可。子节点数量一般转载 2020-07-15 13:29:31 · 543 阅读 · 0 评论
分享