![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
该专栏主要是一些关于树的题解
jump_into_zehe
这个作者很懒,什么都没留下…
展开
-
所有可能的满二叉树
LeetCode 894所有可能的满二叉树满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点。返回包含 N 个结点的所有可能满二叉树的列表。 答案的每个元素都是一个可能树的根结点。答案中每个树的每个结点都必须有 node.val=0。你可以按任何顺序返回树的最终列表。示例:输入:7输出:[[0,0,0,null,null,0,0,null,null,0,0],[0,0,0,null,null,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,null,nul原创 2020-08-15 21:36:26 · 189 阅读 · 0 评论 -
路径总和Ⅲ
LeetCode 437路径总和给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \原创 2020-08-14 21:25:13 · 122 阅读 · 0 评论 -
二叉搜索树迭代器
LeetCode 173二叉搜索树迭代器实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext(); // 返回 trueiterator.next(); // 返回 9itera原创 2020-08-14 20:08:45 · 195 阅读 · 0 评论 -
剑指Offer 36.二叉搜索树和双向链表
LeetCode剑指Offer 36.二叉搜索树和双向链表输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以原创 2020-08-02 15:39:11 · 157 阅读 · 0 评论 -
翻转等价二叉树
leetcode翻转等价二叉树我们可以为二叉树 T 定义一个翻转操作,如下所示:选择任意节点,然后交换它的左子树和右子树。只要经过一定次数的翻转操作后,能使 X 等于 Y,我们就称二叉树 X 翻转等价于二叉树 Y。编写一个判断两个二叉树是否是翻转等价的函数。这些树由根节点 root1 和 root2 给出。示例:输入:root1 = [1,2,3,4,5,6,null,null,null,7,8], root2 = [1,3,2,null,6,4,5,null,null,nu原创 2020-07-15 12:01:33 · 286 阅读 · 0 评论 -
二叉树的层序遍历
leetcode二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)实例:二叉树:[3,9,20,null,null,15,7] 3 / \ 9 20 / \15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]解法1:队列法解题思路:二叉树的层次遍历就是用一个队列来实现的,将每一个结点放入队列中,取出每一个结点后将其左右孩子放入队列中,这道题唯一的难点就是我们原创 2020-07-14 11:45:59 · 233 阅读 · 0 评论 -
二叉树中的列表
leetcode二叉树中的列表给你一棵以 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,3]原创 2020-07-13 22:59:51 · 542 阅读 · 0 评论