
leetcode-二叉树
文章平均质量分 50
程序员小2
全网同名,公众号、领资料
展开
-
【算法题】1845. 座位预约管理系统
/ 可以预约的座位为 [2,3,4,5] ,返回最小编号的座位,也就是 2。// 可以预约的座位为 [2,3,4,5] ,返回最小编号的座位,也就是 2。// 可以预约的座位为 [3,4,5] ,返回最小编号的座位,也就是 3。// 将座位 2 变为可以预约,现在可预约的座位为 [2,3,4,5]。// 可以预约的座位为 [4,5] ,返回最小编号的座位,也就是 4。// 所有座位都可以预约,所以返回最小编号的座位,也就是 1。// 将座位 5 变为可以预约,现在可预约的座位为 [5]。原创 2023-02-13 10:44:02 · 635 阅读 · 0 评论 -
1008. 前序遍历构造二叉搜索树
链接:https://leetcode.cn/problems/construct-binary-search-tree-from-preorder-traversal/solutions/3596/jian-kong-er-cha-shu-by-leetcode/由于树是「二叉搜索树」,我们知道「二叉搜索树」的中序遍历的结果是有序序列。我们可以对「前序遍历」的结果 排序 得到「中序遍历」的结果。对于给定的测试用例,总是有可能找到具有给定需求的二叉搜索树。输出:[8,5,10,1,7,null,12]原创 2022-11-12 14:30:52 · 1011 阅读 · 0 评论 -
889. 根据前序和后序遍历构造二叉树
给定两个整数数组,preorder 和 postorder ,其中 preorder 是一个具有 无重复 值的二叉树的前序遍历,postorder 是同一棵树的后序遍历,重构并返回二叉树。如果存在多个答案,您可以返回其中 任何 一个。示例 1:输入:preorder = [1,2,4,5,3,6,7], postorder = [4,5,2,6,7,3,1]输出:[1,2,3,4,5,6,7]示例 2:输入: preorder = [1], postorder = [1]输出: [1]原创 2022-10-27 21:04:24 · 170 阅读 · 0 评论 -
【教3妹学算法】199. 二叉树的右视图
2哥2哥,你猜今天我在公交车上看到了什么。:什么啊,跟我说说,我这颗八卦好奇心。:我听到2个人在讨论他们的工资,一个人说他的多次只有****, 另一个人说他更惨,工资更少,只有****。:这有什么好稀奇的,我还以为是什么呢?:你不知道,我发现人与人的工资差别还是很大的。:那当然了,每个人的能力不一样,收入也自然不一样。还有,这个社会也只能相对公平,并非绝对公平。:哎,什么时候老板能给我涨工资啊。:哈哈哈哈, 来我们先刷刷算法题吧。原创 2022-10-20 16:38:50 · 124 阅读 · 0 评论 -
【教3妹学算法】145. 二叉树的后序遍历
2哥2哥,你猜今天我在公交车上看到了什么。:什么啊,跟我说说,我这颗八卦好奇心。:我听到2个人在讨论他们的工资,一个人说他的多次只有****, 另一个人说他更惨,工资更少,只有****。:这有什么好稀奇的,我还以为是什么呢?:你不知道,我发现人与人的工资差别还是很大的。:那当然了,每个人的能力不一样,收入也自然不一样。还有,这个社会也只能相对公平,并非绝对公平。:哎,什么时候老板能给我涨工资啊。:哈哈哈哈, 来我们先刷刷算法题吧。原创 2022-10-08 22:40:38 · 134 阅读 · 0 评论 -
【教3妹学算法】145. 二叉树的后序遍历
2哥2哥,你猜今天我在公交车上看到了什么。:什么啊,跟我说说,我这颗八卦好奇心。:我听到2个人在讨论他们的工资,一个人说他的多次只有****, 另一个人说他更惨,工资更少,只有****。:这有什么好稀奇的,我还以为是什么呢?:你不知道,我发现人与人的工资差别还是很大的。:那当然了,每个人的能力不一样,收入也自然不一样。还有,这个社会也只能相对公平,并非绝对公平。:哎,什么时候老板能给我涨工资啊。:哈哈哈哈, 来我们先刷刷算法题吧。原创 2022-10-02 13:05:35 · 115 阅读 · 0 评论 -
【教3妹学算法】94. 二叉树的中序遍历
2哥2哥,你猜今天我在公交车上看到了什么。:什么啊,跟我说说,我这颗八卦好奇心。:我听到2个人在讨论他们的工资,一个人说他的多次只有****, 另一个人说他更惨,工资更少,只有****。:这有什么好稀奇的,我还以为是什么呢?:你不知道,我发现人与人的工资差别还是很大的。:那当然了,每个人的能力不一样,收入也自然不一样。还有,这个社会也只能相对公平,并非绝对公平。:哎,什么时候老板能给我涨工资啊。:哈哈哈哈, 来我们先刷刷算法题吧。原创 2022-10-01 08:04:50 · 509 阅读 · 0 评论 -
【教3妹学算法】144. 二叉树的前序遍历
2哥2哥,你猜今天我在公交车上看到了什么。:什么啊,跟我说说,我这颗八卦好奇心。:我听到2个人在讨论他们的工资,一个人说他的多次只有****, 另一个人说他更惨,工资更少,只有****。:这有什么好稀奇的,我还以为是什么呢?:你不知道,我发现人与人的工资差别还是很大的。:那当然了,每个人的能力不一样,收入也自然不一样。还有,这个社会也只能相对公平,并非绝对公平。:哎,什么时候老板能给我涨工资啊。:哈哈哈哈, 来我们先刷刷算法题吧。原创 2022-09-30 10:01:50 · 452 阅读 · 0 评论 -
每日一题day8-515. 在每个树行中找最大值
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。示例1:输入: root = [1,3,2,5,3,null,9]输出: [1,3,9]示例2:输入: root = [1,2,3]输出: [1,3]提示:二叉树的节点个数的范围是 [0,104]-2^31 ...原创 2022-06-24 08:26:36 · 162 阅读 · 0 评论 -
每日一题-leetcode 单值二叉树
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。java代码:/** * Definition for a binary tree node.原创 2022-05-24 09:46:28 · 212 阅读 · 0 评论 -
每日一题-leetcode 最短回文串
给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例 1:输入:s = “aacecaaa”输出:“aaacecaaa”示例 2:输入:s = “abcd”输出:“dcbabcd”提示:0 <= s.length <= 5 * 104s 仅由小写英文字母组成java代码:class Solution { //字符串哈希 public String shortestPalindrome(Strin原创 2022-05-19 09:33:15 · 1217 阅读 · 0 评论 -
每日一题-leetcode 二叉树的层序遍历 II
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[15,7],[9,20],[3]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]提示:树中节点数目在范围 [0, 2000] 内-1000 <= Node.val <= 1000java代码:/***原创 2022-05-18 09:23:55 · 196 阅读 · 0 评论 -
每日一题-leetcode 验证外星语词典
某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。示例 1:输入:words = [“hello”,“leetcode”], order = “hlabcdefgijkmnopqrstuvwxyz”输出:true解释:在该语言的字母表中,‘h’ 位于 ‘l’ 之前,所以单词序列是按字原创 2022-05-17 09:29:02 · 279 阅读 · 0 评论 -
每日一题-后继者
设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。如果指定节点没有对应的“下一个”节点,则返回null。示例 1:输入: root = [2,1,3], p = 12/ 1 3输出: 2示例 2:输入: root = [5,3,6,2,4,null,null,1], p = 6 5 / \3 6/ 2 4/1输出: nulljava代码:/** * Definition for a binary tree node. * pub原创 2022-05-16 23:55:43 · 570 阅读 · 0 评论 -
leetcode-最小高度树
树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。可选择树中任何一个节点作为根。当选择节点 x 作为根节点时,设结果树的高度为原创 2022-04-06 09:41:33 · 253 阅读 · 0 评论 -
leetcode-根据二叉树创建字符串
你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4]1/ 2 3/4输出: “1(2(4))(3)”解释: 原本将是“1(2(4)())(3())”,在你省略所有不必要的空括号对之后,它将是“1(2(4))(3)”。示例 2:输入: 二叉树: [1,2,3,null,4]1/ 2原创 2022-03-19 11:10:10 · 134 阅读 · 0 评论 -
leetcode- N 叉树的后序遍历
给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[5,6,3,2,4,1]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,n原创 2022-03-12 11:07:26 · 132 阅读 · 0 评论 -
leetcode-求根节点到叶节点数字之和
给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶节点生成的 所有数字之和 。叶节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3]输出:25解释:从根到叶子节点路径 1->2 代表数字 12从根到叶子节点路径 1->3 代表数字 13因此,数字总和 = 12 + 13 =原创 2022-03-06 16:59:32 · 171 阅读 · 0 评论 -
leetcode-路径总和 II
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]示例 2:输入:root = [1,2,3], targetSum = 5输出:[]示例 3:输入:root = [1,2], target原创 2022-03-05 11:51:00 · 577 阅读 · 0 评论