
二叉数
文章平均质量分 87
lenyan~
大家好,我是 lenyan。在这里,你将开启一场精彩绝伦的 Java 知识奇妙之旅。
努力学习,争取实习,希望可以和大家多多交流。
GitHub: https://github.com/lenyanjgk
展开
-
力扣第968题 监控二叉树 c++ hard题 二叉树的后序遍历 + 模拟 + 贪心
相关标签给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视计算监控树的所有节点所需的最小摄像头数量。1如图所示,一台摄像头足以监控所有节点。2需要至少两个摄像头来监视树的所有节点。上图显示了摄像头放置的有效位置之一。[1, 1000]原创 2023-10-30 09:00:00 · 161 阅读 · 0 评论 -
力扣第538题 把二叉搜索树转换为累加树 c++
相关标签给出二叉树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点node的新值等于原树中大于或等于node.val的值之和。本题和相同[1,null,1][3,3,2][7,9,4,10]0104-104104。原创 2023-10-15 08:00:00 · 665 阅读 · 0 评论 -
力扣第108题 将有序数组转二叉搜索树 c++
相关标签给你一个整数数组nums,其中元素已经按排列,请你将其转换为一棵二叉搜索树。二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。[0,-10,5,null,-3,null,9] 也将被视为正确答案:[3,1][1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。原创 2023-10-14 15:00:00 · 292 阅读 · 0 评论 -
力扣第669题 修剪二叉搜索树 c++(注释)
相关标签给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在中。修剪树改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。原创 2023-10-14 08:00:00 · 171 阅读 · 0 评论 -
力扣第450 删除二叉搜索树中的节点 c++ 直接上代码注释 附精简版
相关标签给定一个二叉搜索树的根节点和一个值,删除二叉搜索树中的对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。一个正确的答案是 [5,4,6,2,null,null,7], 如下图所示。另一个正确答案是 [5,2,6,null,4,null,7]。二叉树不包含值为 0 的节点[][0, 104]root要求算法时间复杂度为 O(h),h 为树的高度。原创 2023-10-13 17:00:00 · 139 阅读 · 0 评论 -
力扣第701题 二叉搜索树中的插入操作 c++ 利用好题目条件
相关标签给定二叉搜索树(BST)的根节点root和要插入树中的值value,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据,新值和原始二叉搜索树中的任意节点值都不同。,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。你可以返回。另一个满足题目要求可以通过的树是:[0, 104]Node.valval。原创 2023-10-13 09:00:00 · 129 阅读 · 0 评论 -
力扣第235题 二又搜索树的最近公共祖先 c++
相关标签给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]6节点2和节点8的最近公共祖先是6。2节点2和节点4的最近公共祖先是2, 因为根据定义最近公共祖先节点可以为节点本身。原创 2023-10-13 08:00:00 · 94 阅读 · 0 评论 -
力扣第236题 二叉树的最近公共祖先 c++ 递归和回溯 附注释和简短代码
相关标签给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(3节点5和节点1的最近公共祖先是节点3。5节点5和节点4的最近公共祖先是节点5。因为根据定义最近公共祖先节点可以为节点本身。1[2, 105]Node.val互不相同p!= qpq。原创 2023-10-12 17:00:00 · 534 阅读 · 0 评论 -
力扣第501题 二叉树的众数 c++ (暴力 加 双指针优化)
相关标签给你一个含重复值的二叉搜索树(BST)的根节点root,找出并返回 BST 中的所有(即,出现频率最高的元素)。如果树中有不止一个众数,可以按返回。[2]root = [0][0][1, 104]你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)原创 2023-10-12 09:00:00 · 415 阅读 · 0 评论 -
力扣第530与783题 c++(暴力,加双指针优化) 附迭代版本
相关标签给你一个二叉搜索树的根节点root,返回。差值是一个正数,其数值等于两值之差的绝对值。简单相关标签给你一个二叉搜索树的根节点root,返回。差值是一个正数,其数值等于两值之差的绝对值。11本题与 783相同。原创 2023-10-12 08:00:00 · 223 阅读 · 0 评论 -
力扣第98题 验证二叉搜索树 c++ 与上一篇文章相似
相关标签给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。truefalse根节点的值是 5 ,但是右子节点的值是 4。[1, 104]原创 2023-10-11 17:00:00 · 144 阅读 · 0 评论 -
力扣第700题 二叉搜索树中的搜索 c++ 在搜索中搜索
相关标签给定二叉搜索树(BST)的根节点root和一个整数值val。你需要在 BST 中找到节点值等于val的节点。返回以该节点为根的子树。如果节点不存在,则返回null。原创 2023-10-11 08:00:00 · 90 阅读 · 0 评论 -
力扣第617题 合并二叉树 c++ 前中后序 完成 附加迭代版本
public:// 如果t1为空,合并之后就应该是t2// 如果t2为空,合并之后就应该是t1// 创建一个新的节点,不修改原有两个树的结构// 将t1和t2对应节点的值相加,赋值给新节点的值// 递归合并t1和t2的左子树// 递归合并t1和t2的右子树// 返回合并后的树。原创 2023-10-11 08:00:00 · 103 阅读 · 0 评论 -
力扣第654题 最大二叉树 c++注释版
、原创 2023-10-10 12:00:00 · 193 阅读 · 0 评论 -
力扣第106题 中后序 构造二叉树 c++ 数据结构必学系列
相关标签给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。原创 2023-10-10 08:00:00 · 86 阅读 · 0 评论 -
力扣第105题 通过前中序列 构造二叉树 c++ 数据结构必学
相关标签给定两个整数数组preorder和inorder,其中preorder是二叉树的inorder是同一棵树的,请构造二叉树并返回其根节点。原创 2023-10-10 08:00:00 · 228 阅读 · 0 评论 -
力扣第113题 路径总和 || 树 深度优先搜索 回溯 二叉树
给你二叉树的根节点root和一个整数目标和targetSum,找出所有路径总和等于给定目标和的路径。是指没有子节点的节点。原创 2023-10-10 09:00:00 · 192 阅读 · 0 评论 -
力扣第112题 路径总和 c++ 树 深度优先搜索 广度优先搜索 二叉树
给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在的路径,这条路径上所有节点值相加等于目标和targetSum。如果存在,返回true;否则,返回false。是指没有子节点的节点。true等于目标和的根节点到叶节点路径如上图所示。false树中存在两条根节点到叶子节点的路径:(1 --> 2): 和为 3(1 --> 3): 和为 4不存在 sum = 5 的根节点到叶子节点的路径。false由于树是空的,所以不存在根节点到叶子节点的路径。原创 2023-10-10 08:00:00 · 181 阅读 · 0 评论 -
力扣第513题 找树左下角的值 c++ 递归 迭代 回溯
给定一个二叉树的root,请找出该二叉树的节点的值。假设二叉树中至少有一个节点。17。原创 2023-10-09 09:00:00 · 131 阅读 · 0 评论 -
力扣第404题 左叶子之和 c++ 递归 与 迭代解法
给定二叉树的根节点root,返回所有左叶子之和。24在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24root = [1]0[1, 1000]原创 2023-10-09 08:00:00 · 162 阅读 · 0 评论 -
力扣第257题 二叉树的所有路径 c++ 树 深度优先搜索 字符串 回溯 二叉树
给你一个二叉树的根节点root,按,返回所有从根节点到叶子节点的路径。是指没有子节点的节点。原创 2023-10-08 15:00:00 · 278 阅读 · 0 评论 -
力扣第110题 平衡二叉数 c++ 树 深度优先搜索 二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。原创 2023-10-08 08:00:00 · 962 阅读 · 0 评论 -
力扣第572题 另一棵树的子树 c++深度(DFS)注释版
给你两棵二叉树root和subRoot。检验root中是否包含和subRoot具有相同结构和节点值的子树。如果存在,返回true;否则,返回false。二叉树tree的一棵子树包括tree的某个节点和这个节点的所有后代节点。tree也可以看做它自身的一棵子树。原创 2023-10-07 17:00:00 · 258 阅读 · 0 评论 -
力扣第100题 相同的数 c++ 二叉 简单易懂+注释
给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。原创 2023-10-07 09:00:00 · 260 阅读 · 0 评论 -
力扣第101题 c++ 递归 迭代 双方法 +注释 ~
给你一个二叉树的根节点root, 检查它是否轴对称。truefalse[1, 1000]你可以运用递归和迭代两种方法解决这个问题吗?原创 2023-10-07 08:00:00 · 435 阅读 · 0 评论 -
力扣第226翻转二叉数 c++三种方法 +注释
给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。原创 2023-10-06 08:00:00 · 1375 阅读 · 0 评论 -
力扣第102题 广度优先搜索 二叉数 c++
给你二叉树的根节点root,返回其节点值的。(即逐层地,从左到右访问所有节点)。原创 2023-10-05 08:00:00 · 1078 阅读 · 0 评论