![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
刷题--树
文章平均质量分 71
树相关题目的刷题总结,主要用go和python实现
Allen_Xu17
这个作者很懒,什么都没留下…
展开
-
刷题---树篇---606. 根据二叉树创建字符串
606. 根据二叉树创建字符串你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)"解释: 原本将是“1(2(4)())(3())”,在你省略所有不必要的空括号对之后,它将是...原创 2020-07-19 22:06:44 · 256 阅读 · 0 评论 -
刷题---树篇---129. 求根到叶子节点数字之和
129. 求根到叶子节点数字之和给定一个二叉树,它的每个结点都存放一个0-9的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明:叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13.因此,...原创 2020-07-18 22:19:27 · 302 阅读 · 0 评论 -
刷题---树篇---113. 路径总和 II
113. 路径总和 II给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,...原创 2020-06-27 10:13:40 · 185 阅读 · 0 评论 -
刷题---树篇---112. 路径总和
112. 路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 tru...原创 2020-06-26 22:02:02 · 187 阅读 · 0 评论 -
刷题---树篇---111. 二叉树的最小深度(go)
111. 二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree...原创 2020-06-18 09:29:51 · 269 阅读 · 0 评论 -
刷题---树篇---563. 二叉树的坡度(go,python实现)
563. 二叉树的坡度给定一个二叉树,计算整个树的坡度。一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。整个树的坡度就是其所有节点的坡度之和。示例:输入: 1 / \ 2 3输出: 1解释:结点的坡度 2 : 0结点的坡度 3 : 0结点的坡度 1 : |2-3| = 1树的坡度 : 0 + 0 + 1 = 1注意:任何子树的结点的和不会超过32位整数的范围。...原创 2020-06-16 17:34:50 · 187 阅读 · 0 评论 -
刷题---树篇---404. 左叶子之和(go,python实现)
404. 左叶子之和计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:本题有递归和迭代两种方法:迭代版本,利用层序遍历,每次遍历到左...原创 2020-06-16 16:21:08 · 158 阅读 · 0 评论 -
刷题---链表篇---61. 旋转链表(python,go语言实现)
61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例2:输入: 0->1...原创 2020-06-15 12:12:38 · 223 阅读 · 0 评论 -
刷题---树篇---559. N叉树的最大深度(go,python实现)
559. N叉树的最大深度给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个3叉树:我们应返回其最大深度,3。说明:树的深度不会超过1000。树的节点总不会超过5000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。_...原创 2020-06-15 10:56:41 · 379 阅读 · 0 评论 -
刷题---树篇---110. 平衡二叉树(go,python实现)
110. 平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \...原创 2020-06-15 10:13:57 · 219 阅读 · 0 评论 -
刷题---树篇---530. 二叉搜索树的最小绝对差
530. 二叉搜索树的最小绝对差给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。示例:输入: 1 \ 3 / 2输出:1解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。提示:树中至少有 2 个节点。本题与 783 https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/ 相同...原创 2020-06-14 10:34:38 · 270 阅读 · 0 评论 -
刷题---树篇---513. 找树左下角的值
513. 找树左下角的值给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1示例 2:输入: 1 / \ 2 3 / / \ 4 5 6 / 7输出:7注意: 您可以假设树(即给定的根节点)不为 NULL。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...原创 2020-06-13 17:42:15 · 251 阅读 · 0 评论 -
刷题---树篇---106. 从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder =[9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tr...原创 2020-06-13 17:11:36 · 191 阅读 · 0 评论 -
刷题---树篇---105. 从前序与中序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tre...原创 2020-06-13 13:27:46 · 211 阅读 · 0 评论 -
刷题---树篇---103. 二叉树的锯齿形层次遍历
103. 二叉树的锯齿形层次遍历给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bin...原创 2020-06-13 12:09:16 · 117 阅读 · 0 评论 -
刷题---树篇---429. N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个3叉树:返回其层序遍历:[ [1], [3,2,4], [5,6]]说明:树的深度不会超过1000。树的节点总数不会超过5000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal著作权归领扣网络所有。商业转载请联系官方...原创 2020-06-12 16:09:03 · 145 阅读 · 0 评论 -
刷题---树篇---589. N叉树的前序遍历
589. N叉树的前序遍历给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树:返回其前序遍历: [1,3,5,6,2,4]。说明:递归法很简单,你可以使用迭代法完成此题吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。_______________________...原创 2020-06-12 16:07:08 · 138 阅读 · 0 评论 -
刷题---树篇---102. 二叉树的层序遍历
102. 二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-level-ord...原创 2020-06-12 16:03:21 · 155 阅读 · 0 评论 -
刷题---树篇---104. 二叉树的最大深度
104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree著...原创 2020-06-11 13:49:44 · 201 阅读 · 0 评论 -
刷题---树篇---230. 二叉搜索树中第K小的元素
230. 二叉搜索树中第K小的元素给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \1 4 \ 2输出: 1示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6...原创 2020-06-11 13:37:48 · 170 阅读 · 0 评论 -
刷题---树篇---101. 对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解...原创 2018-11-03 22:11:26 · 142 阅读 · 0 评论 -
刷题---树篇---222. 完全二叉树的节点个数
222. 完全二叉树的节点个数给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~2h个节点。示例:输入: 1 / \ 2 3/ \ /4 5 6输出: 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count...原创 2020-06-09 11:29:40 · 258 阅读 · 0 评论 -
刷题---树篇---100. 相同的树
100. 相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1 / \ 2 ...原创 2020-06-09 10:13:13 · 134 阅读 · 0 评论 -
刷题---树篇---1367. 二叉树中的列表
1367. 二叉树中的列表给你一棵以root为根的二叉树和一个head为第一个节点的链表。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以head为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。一直向下的路径的意思是:从树中某个节点开始,一直连续向下的路径。示例 1:输入:head = [4,2,8], root = [1,4,4,null,2,2,null,1,null,6,8,null,null,null,null,1...原创 2020-06-08 16:28:25 · 164 阅读 · 0 评论 -
刷题---树篇---98. 验证二叉搜索树
98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 ...原创 2020-06-08 15:25:35 · 134 阅读 · 0 评论 -
刷题---树篇---95. 不同的二叉搜索树Ⅱ
95. 不同的二叉搜索树 II给定一个整数 n,生成所有由 1 ...n 为节点所组成的 二叉搜索树 。示例:输入:3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ ...原创 2020-06-08 12:12:55 · 135 阅读 · 0 评论 -
刷题---树篇---96. 不同的二叉搜索树
96. 不同的二叉搜索树难度:中等给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \...原创 2020-06-07 14:02:42 · 157 阅读 · 0 评论 -
leetcode力扣刷题总结---树篇(交流学习)
树是数据结构中很重要的一个主题,突破了以往线性结构的结构的限制,让数据的组织、存储和使用更加灵活。与树息息相关的一个概念便是递归,理解和灵活运用递归,不仅能够突破对树的理解,更能方便我们理解和解决其他问题。本篇总结是在学习了树相关基础知识的基础上,进行的刷题练习,希望能更加深入、灵活的掌握与树相关的知识。有的解法是自己原创,有的是参考了优秀题解,欢迎交流!...原创 2020-06-06 16:41:59 · 565 阅读 · 0 评论 -
刷题---树篇---145. 二叉树的后序遍历
给定一个二叉树,返回它的 后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [3,2,1]进阶:递归算法很简单,你可以通过迭代算法完成吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。---------------------...原创 2020-06-06 16:38:58 · 200 阅读 · 0 评论 -
刷题---树篇---144. 二叉树的前序遍历
给定一个二叉树,返回它的前序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,2,3]进阶:递归算法很简单,你可以通过迭代算法完成吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。---------------------...原创 2020-06-06 15:43:12 · 207 阅读 · 0 评论 -
刷题---树篇---94. 二叉树的中序遍历(go,python实现)
给定一个二叉树,返回它的中序遍历。原创 2020-06-06 13:24:56 · 248 阅读 · 0 评论