
二叉树
二叉树
萌的咋会有
愿下辈子不用配环境
展开
-
刷题-Leetcode-面试题 04.10. 检查子树
面试题 04.10. 检查子树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/check-subtree-lcci/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析参考链接:检查子树(递归)/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *l原创 2022-02-10 11:41:37 · 826 阅读 · 0 评论 -
刷题-Leetcode-面试题 04.08. 首个共同祖先
面试题 04.08. 首个共同祖先题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-common-ancestor-lcci/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析参考链接:首个共同祖先,注释详细,基于查找的判断方法/** * Definition for a binary tree node. * struct TreeNode { * int val; *原创 2022-01-27 12:54:05 · 1627 阅读 · 0 评论 -
刷题-Leetcode-面试题 04.05. 合法二叉搜索树
面试题 04.05. 合法二叉搜索树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/legal-binary-search-tree-lcci/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析二叉搜索树:如果该二叉树的左子树不为空,则左子树上所有节点的值均小于它的根节点的值; 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左右子树也为二叉搜索树。bool helper(TreeNode原创 2022-01-27 12:08:15 · 520 阅读 · 0 评论 -
刷题-Leetcode-面试题 04.04. 检查平衡性
面试题 04.04. 检查平衡性题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/check-balance-lcci/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析满足的条件:任意一个节点,其两棵子树的高度差不超过 1。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNod原创 2022-01-27 10:49:45 · 445 阅读 · 0 评论 -
刷题-Leetcode-面试题 04.03. 特定深度节点链表
面试题 04.03. 特定深度节点链表题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/list-of-depth-lcci/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析参考链接:c++超100的广度优先/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tre原创 2022-01-26 13:59:36 · 928 阅读 · 0 评论 -
刷题-Leetcode-面试题 04.02. 最小高度树
面试题 04.02. 最小高度树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-height-tree-lcci/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析参考链接:图解递归构造平衡二叉搜索树 C++/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNod原创 2022-01-25 13:55:41 · 166 阅读 · 0 评论 -
刷题-Leetcode-559. N 叉树的最大深度
106. 从中序与后序遍历序列构造二叉树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析递归...原创 2021-09-25 10:57:44 · 90 阅读 · 0 评论 -
刷题-Leetcode-56. 合并区间(贪心-区间)
56. 合并区间题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-intervals/题目描述以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],原创 2021-02-06 13:24:59 · 255 阅读 · 1 评论 -
刷题-Leetcode-968. 监控二叉树(贪心)
78. 子集题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-cameras/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。示例 1:输入:[0,0,null,0,0]输出:1解释:如图所示,一台摄像头足以原创 2021-04-19 10:06:20 · 223 阅读 · 0 评论 -
刷题-Leetcode-113. 路径总和 II(二叉树-属性)
113. 路径总和 II题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum-ii/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析终止条件一定要找好。首先一定要到叶子结点,sum == target 或者是 sum != targetclass Solution {public: vector<vector<int>> res; vec原创 2021-06-08 17:31:57 · 87 阅读 · 0 评论 -
刷题-Leetcode-112. 路径总和(二叉树-属性)
112. 路径总和题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析递归函数究竟什么时候需要返回值,什么时候不要返回值?如果需要搜索整颗二叉树,那么递归函数就不要返回值,如果要搜索其中一条符合条件的路径,递归函数就需要返回值,因为遇到符合条件的路径了就要及时返回。递归法终止条件:到叶子结点,(1)sum == target 返原创 2021-06-08 17:18:43 · 132 阅读 · 0 评论 -
刷题-Leetcode-513. 找树左下角的值(二叉树-属性)
513. 找树左下角的值题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析迭代法相比于递归,此题用迭代法更简单。class Solution {public: int findBottomLeftValue(TreeNode* root) {原创 2021-06-08 14:37:27 · 166 阅读 · 0 评论 -
刷题-Leetcode-404. 左叶子之和(二叉树-属性)
404. 左叶子之和题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析注意是叶子!重点也是找左叶子:找到左叶子。首先是左结点,如果这个结点不为空,且没有左右孩子,那么这个结点就是左叶子。代码一直判断temp是否是左叶子。因为前提是左结点,所以要从左节点的父节点开始找。找到后结果加上左节点原创 2021-06-08 13:57:19 · 88 阅读 · 0 评论 -
刷题-Leetcode-572. 另一个树的子树(二叉树-属性)
572. 另一个树的子树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subtree-of-another-tree/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析参考101题递归法compare:判断left 和right两个子树是否全相同。要时刻记得这个函数的作用不要写着写着功能就混了!class Solution {public: bool compare(Tree原创 2021-06-07 16:11:33 · 103 阅读 · 0 评论 -
刷题-Leetcode-100. 相同的树(二叉树-属性)
100. 相同的树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/same-tree/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析注意:相同的不是对称的可参考101. 对称二叉树class Solution {public: bool compare(TreeNode* left, TreeNode* right){ if(left ==原创 2021-06-07 14:21:43 · 81 阅读 · 0 评论 -
刷题-Leetcode-257. 二叉树的所有路径(二叉树-属性)
257. 二叉树的所有路径题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-paths/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析前序遍历递归...原创 2021-06-07 14:06:49 · 73 阅读 · 0 评论 -
刷题-Leetcode-110. 平衡二叉树(二叉树-属性)
110. 平衡二叉树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/balanced-binary-tree/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析注意高度和深度的区别结点A的深度:从根到结点A 的最长简单路径边的条数。结点A的高度:从结点A到叶子结点 的最长简单路径边的条数。此题还是后序遍历。注意:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超原创 2021-06-07 09:40:40 · 102 阅读 · 0 评论 -
刷题-Leetcode-222. 完全二叉树的节点个数(二叉树-属性)
222. 完全二叉树的节点个数题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-complete-tree-nodes/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析...原创 2021-06-07 09:02:50 · 75 阅读 · 0 评论 -
刷题-Leetcode-111. 二叉树的最小深度(二叉树-属性)
111. 二叉树的最小深度题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析注意最小深度求的是到叶子结点,叶子结点没有孩子的结点。class Solution {public: int getDept(TreeNode* root){ if(root == null原创 2021-06-06 10:56:07 · 138 阅读 · 0 评论 -
刷题-Leetcode-104. 二叉树的最大深度(二叉树-属性)
104. 二叉树的最大深度题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析...原创 2021-06-06 09:55:42 · 116 阅读 · 0 评论 -
刷题-Leetcode-662. 二叉树最大宽度(层次遍历)
662. 二叉树最大宽度题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-width-of-binary-tree/submissions//著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和原创 2021-05-09 16:29:25 · 186 阅读 · 0 评论 -
刷题-Leetcode-968. 监控二叉树(二叉树)
203. 移除链表元素题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-cameras/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。示例 1:输入:[0,0,null,0,0]输出:1解释:如图所示,一台原创 2021-04-19 10:38:49 · 195 阅读 · 0 评论 -
刷题-Leetcode-226. 翻转二叉树(二叉树-修改与构造)
226. 翻转二叉树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析递归法前序class Solution {public: TreeNode* invertTree(TreeNode* root) { if(root == nullptr) retur原创 2021-06-04 13:05:11 · 117 阅读 · 0 评论 -
刷题-Leetcode-二叉树层序遍历题目合集
107. 二叉树的层序遍历 II题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析简单题要争取一遍ac。重点在reverse(res.begin(), res.end())要记得学会用reverse。class Solution {public: vector&原创 2021-06-03 10:24:28 · 115 阅读 · 0 评论 -
刷题-Leetcode-二叉树遍历(二叉树)
二叉搜索树平衡二叉搜索树二叉树的存储方式链式存储方式就用指针, 顺序存储的方式就是用数组。一般用链式。二叉树的遍历方式1.深度 (递归 + 迭代 / 栈)前序中序后序2.广度 (迭代 / 队列)层次...原创 2021-06-03 10:11:40 · 99 阅读 · 0 评论 -
刷题-Leetcode-101. 对称二叉树(二叉树-属性)
101. 对称二叉树题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/symmetric-tree/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析递归法class Solution {public: bool isSymmetric(TreeNode* root) { if(root == nullptr) return true; return原创 2021-06-05 13:55:00 · 118 阅读 · 0 评论