二叉树
文章平均质量分 94
主要于二叉树有关的题目和知识
花木凋零成兰
慢慢走
展开
-
LC 515.在每个树行中找最大值
给定一棵二叉树的根节点root,请找出该二叉树中每一层的最大值。原创 2024-04-12 19:32:34 · 1233 阅读 · 0 评论 -
LC 513.找树左下角的值
给定一个二叉树的root,请找出该二叉树的节点的值。假设二叉树中至少有一个节点。原创 2024-04-12 09:41:49 · 962 阅读 · 0 评论 -
LC 501.二叉搜索树中的众数
给你一个含重复值的二叉搜索树(BST)的根节点root,找出并返回 BST 中的所有(即,出现频率最高的元素)。如果树中有不止一个众数,可以按返回。[2]root = [0][0]1104−105≤Nodeval≤105你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)原创 2024-04-11 21:01:04 · 1347 阅读 · 0 评论 -
LC 450.删除二叉搜索树中的节点
给定一个二叉搜索树的根节点和一个值,删除二叉搜索树中的对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。一个正确的答案是 [5,4,6,2,null,null,7], 如下图所示。另一个正确答案是 [5,2,6,null,4,null,7]。二叉树不包含值为 0 的节点[]0104−105≤Nodeval≤105root−105≤key≤。原创 2024-04-11 12:52:02 · 898 阅读 · 0 评论 -
LC 572.另一棵树的子树
给你两棵二叉树root和subRoot。检验root中是否包含和subRoot具有相同结构和节点值的子树。如果存在,返回true;否则,返回false。二叉树tree的一棵子树包括tree的某个节点和这个节点的所有后代节点。tree也可以看做它自身的一棵子树。原创 2024-04-10 20:11:35 · 975 阅读 · 0 评论 -
LC 429.N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。10000104。原创 2024-04-10 09:28:00 · 757 阅读 · 0 评论 -
LC 117.填充每个节点的下一个右侧节点指针II
给定一个二叉树:int val;Node *left;Node *next;填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为NULL。初始状态下,所有 next 指针都被设置为NULL。给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化输出按层序遍历顺序(由 next 指针连接),‘#’ 表示每层的末尾。原创 2024-04-09 13:42:01 · 971 阅读 · 0 评论 -
LC 116.填充每个节点的下一个右侧节点指针
给定一个,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:int val;Node *left;Node *next;填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为NULL。初始状态下,所有 next 指针都被设置为NULL。给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。原创 2024-04-09 08:42:06 · 1027 阅读 · 0 评论 -
LC 404.左叶子之和
给定二叉树的根节点root,返回所有左叶子之和。24在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24root = [1]0[1, 1000]−1000≤Nodeval≤1000。原创 2024-04-08 12:41:54 · 1127 阅读 · 0 评论 -
LC 257.二叉树的所有路径
给你一个二叉树的根节点root,按,返回所有从根节点到叶子节点的路径。是指没有子节点的节点。原创 2024-04-08 08:51:40 · 843 阅读 · 0 评论 -
LC 236.二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(3节点5和节点1的最近公共祖先是节点3。5节点5和节点4的最近公共祖先是节点5。因为根据定义最近公共祖先节点可以为节点本身。12105−109≤Nodeval≤109Node.val互不相同p!= qpq。原创 2024-04-07 13:51:18 · 997 阅读 · 0 评论 -
LC 235.二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 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, 因为根据定义最近公共祖先节点可以为节点本身。原创 2024-04-07 11:01:50 · 981 阅读 · 0 评论 -
LC 226.翻转二叉树
给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。原创 2024-04-06 13:25:25 · 1007 阅读 · 0 评论 -
LC 222.完全二叉树的节点个数
给你一棵的根节点root,求出该树的节点个数。的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1∼2h个节点。6root = []0root = [1]105×1040≤Nodeval≤5∗104遍历树来统计节点是一种时间复杂度为O(n)的简单解决方案。你可以设计一个更快的算法吗?原创 2024-04-06 10:52:47 · 722 阅读 · 1 评论 -
LC 96.不同的二叉搜索树
给你一个整数n,求恰由n个节点组成且节点值从1到n互不相同的有多少种?返回满足题意的二叉搜索树的种数。原创 2024-04-05 13:26:22 · 921 阅读 · 0 评论 -
LC 199.二叉树的右视图
给定一个二叉树的root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2024-04-05 10:37:21 · 915 阅读 · 0 评论 -
LC 145.二叉树的后序遍历
给你一棵二叉树的根节点root,返回其节点值的。[3,2,1]root = [][]root = [1][1][0, 100]−100≤Nodeval≤100递归算法很简单,你可以通过迭代算法完成吗?原创 2024-04-04 16:09:00 · 1095 阅读 · 0 评论 -
LC 144.二叉树的前序遍历
给你二叉树的根节点root,返回它节点值的遍历。[1,2,3]root = [][]root = [1][1][1,2][1,2][0, 100]−100≤Nodeval≤100递归算法很简单,你可以通过迭代算法完成吗?原创 2024-04-04 13:38:25 · 939 阅读 · 0 评论 -
LC 111.二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。叶子节点是指没有子节点的节点。原创 2024-04-03 12:33:30 · 926 阅读 · 0 评论 -
LC 110.平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。原创 2024-04-03 09:06:11 · 687 阅读 · 0 评论 -
LC 108.将有序数组转换为二叉搜索树
给你一个整数数组nums,其中元素已经按排列,请你将其转换为一棵二叉搜索树。二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。[3,1][1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。原创 2024-04-02 09:09:25 · 1192 阅读 · 0 评论 -
LC 98.验证二叉搜索树
给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。truefalse根节点的值是 5 ,但是右子节点的值是 4。原创 2024-03-25 08:17:09 · 854 阅读 · 0 评论 -
LC 100.相同的树
给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。原创 2024-03-27 09:13:45 · 762 阅读 · 1 评论 -
LC 102.二叉树的层序遍历
给你二叉树的根节点root,返回其节点值的。(即逐层地,从左到右访问所有节点)。原创 2024-03-29 12:50:55 · 746 阅读 · 0 评论 -
LC 101.对称二叉树
给你一个二叉树的根节点root, 检查它是否轴对称。truefalse[1, 1000]−100≤Nodeval≤100你可以运用递归和迭代两种方法解决这个问题吗?原创 2024-03-28 11:57:59 · 389 阅读 · 0 评论 -
LC 106.从中序与后序遍历序列构造二叉树
给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。原创 2024-04-01 09:04:58 · 872 阅读 · 0 评论 -
LC 104.二叉树的最大深度
给定一个二叉树root,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。原创 2024-03-30 12:54:53 · 1219 阅读 · 0 评论 -
LC 94.二叉树的中序遍历
给定一个二叉树的根节点root,返回它的遍历。[1,3,2]root = [][]root = [1][1][0, 100]−100≤Nodeval≤100递归算法很简单,你可以通过迭代算法完成吗?原创 2024-03-23 19:22:01 · 733 阅读 · 1 评论 -
LC 105.从前序与中序遍历序列构造二叉树
给定两个整数数组preorder和inorder,其中preorder是二叉树的inorder是同一棵树的,请构造二叉树并返回其根节点。原创 2024-03-31 10:06:58 · 1165 阅读 · 0 评论 -
LC 107.二叉树的层序遍历II
给你二叉树的根节点root,返回其节点值。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)root = [1][[1]]root = [][][0, 2000]−1000≤Nodeval≤1000。原创 2024-04-01 12:41:35 · 845 阅读 · 0 评论