二叉树
来颗花椰菜
NLP方向,力扣刷题日记,越努力越幸运,欢迎一起讨论交流。
展开
-
538 把二叉搜索树转换成累加树
给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。原创 2022-10-06 09:41:11 · 42 阅读 · 0 评论 -
669 修剪二叉搜索树
给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在 唯一的答案 。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。原创 2022-10-06 09:40:39 · 35 阅读 · 0 评论 -
450 删除二叉搜索树中的节点
给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。原创 2022-10-06 09:39:17 · 50 阅读 · 0 评论 -
701 二叉搜索树的插入操作
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。原创 2022-10-06 09:38:37 · 52 阅读 · 0 评论 -
501 二叉搜索树中的众数
给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按 任意顺序 返回。原创 2022-09-10 09:56:57 · 55 阅读 · 0 评论 -
530 二叉搜索树的最小绝对差
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。原创 2022-09-10 09:56:19 · 49 阅读 · 0 评论 -
98 验证二叉搜索树
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。原创 2022-09-10 09:55:34 · 188 阅读 · 0 评论 -
700 二叉搜索树中的搜索
给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。原创 2022-09-10 09:54:32 · 79 阅读 · 0 评论 -
617合并二叉树
给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。原创 2022-09-10 09:52:05 · 58 阅读 · 0 评论 -
414 第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。原创 2022-09-10 09:51:22 · 103 阅读 · 0 评论 -
414 第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。原创 2022-09-10 09:50:44 · 56 阅读 · 0 评论 -
513 找树左下角的值
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。原创 2022-09-10 09:49:59 · 50 阅读 · 0 评论 -
404 左叶子之和
给定二叉树的根节点 root ,返回所有左叶子之和。原创 2022-09-10 09:49:29 · 103 阅读 · 0 评论 -
110 平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。原创 2022-09-10 09:45:27 · 121 阅读 · 0 评论 -
222 完全二叉树的节点个数
给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。原创 2022-08-25 16:08:32 · 49 阅读 · 0 评论 -
559 N叉树的最大深度
给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。原创 2022-08-25 16:07:39 · 35 阅读 · 0 评论 -
572 另一棵树的子树
给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树原创 2022-08-25 16:07:08 · 58 阅读 · 0 评论 -
100 相同的树
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。原创 2022-08-25 16:06:36 · 37 阅读 · 0 评论 -
101 对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。原创 2022-08-25 16:06:01 · 59 阅读 · 0 评论 -
590 N叉树的后序遍历
给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。原创 2022-08-25 16:05:28 · 50 阅读 · 0 评论 -
589 N叉树的前序遍历
给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。原创 2022-08-25 16:04:57 · 116 阅读 · 0 评论 -
111二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。原创 2022-08-25 16:04:18 · 100 阅读 · 0 评论 -
104 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。原创 2022-08-25 16:03:38 · 31 阅读 · 0 评论 -
117 填充每个节点的下一个右侧节点2
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。原创 2022-08-25 16:03:09 · 36 阅读 · 0 评论 -
116填充每一个节点的下一个右侧节点指针
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。原创 2022-08-24 21:39:45 · 40 阅读 · 0 评论 -
515在每个树中找最大值
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。原创 2022-08-24 21:39:04 · 305 阅读 · 0 评论 -
429 N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。原创 2022-08-24 21:38:11 · 45 阅读 · 0 评论 -
637二叉树的层平均值
给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。原创 2022-08-24 21:37:39 · 54 阅读 · 0 评论 -
107二叉树的层序遍历2
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)。原创 2022-08-24 21:37:07 · 72 阅读 · 0 评论 -
145 二叉树的后序遍历
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。原创 2022-08-24 21:36:33 · 59 阅读 · 0 评论 -
144 二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。原创 2022-08-24 21:36:01 · 84 阅读 · 0 评论 -
94 二叉树的中序遍历
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。原创 2022-08-24 21:35:06 · 71 阅读 · 0 评论