随笔分类 - 

摘要:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节 阅读全文
posted @ 2021-05-14 17:55 旺仔古李 阅读(36) 评论(0) 推荐(0)
摘要:给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表。 如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。 一直向下的路径的意思是:从树中某个节点开始,一直连续向下的路径。 示 阅读全文
posted @ 2021-05-14 15:21 旺仔古李 阅读(57) 评论(0) 推荐(0)
摘要:检查子树。你有两棵非常大的二叉树:T1,有几万个节点;T2,有几万个节点。设计一个算法,判断 T2 是否为 T1 的子树。 如果 T1 有这么一个节点 n,其子树与 T2 一模一样,则 T2 为 T1 的子树,也就是说,从节点 n 处把树砍断,得到的树与 T2 完全相同。 注意:此题相对书上原题略有 阅读全文
posted @ 2021-05-13 14:58 旺仔古李 阅读(60) 评论(0) 推荐(0)
摘要:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1 阅读全文
posted @ 2021-05-13 14:40 旺仔古李 阅读(62) 评论(0) 推荐(0)
摘要:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 阅读全文
posted @ 2021-05-13 14:18 旺仔古李 阅读(50) 评论(0) 推荐(0)
摘要:从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回: [3,9,20,15,7] 提示: 节点总数 <= 1000 来源:力扣(LeetCode)链接:https:// 阅读全文
posted @ 2021-05-13 14:09 旺仔古李 阅读(50) 评论(0) 推荐(0)
摘要:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果: [ [3], [2 阅读全文
posted @ 2021-05-13 13:59 旺仔古李 阅读(49) 评论(0) 推荐(0)
摘要:给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1输 阅读全文
posted @ 2021-05-13 13:31 旺仔古李 阅读(48) 评论(0) 推荐(0)
摘要:给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下: 二叉树的根是数组 nums 中的最大元素。左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。返回有给定数组 nums 构建的 最大二叉 阅读全文
posted @ 2021-05-12 14:12 旺仔古李 阅读(291) 评论(0) 推荐(0)
摘要:给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。 每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。 示例 1: 输入: 1 / \ 阅读全文
posted @ 2021-05-12 13:56 旺仔古李 阅读(75) 评论(0) 推荐(0)
摘要:给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在唯一的答案。 所以结果应当返回修剪好的二叉 阅读全文
posted @ 2021-05-12 12:44 旺仔古李 阅读(48) 评论(0) 推荐(0)
摘要:给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值。 这条路径可以经过也可以不经过根节点。 注意:两个节点之间的路径长度由它们之间的边数表示。 示例 1: 输入: 5 / \ 4 5 / \ \ 1 1 5输出: 2示例 2: 输入: 1 / \ 4 5 / \ \ 4 4 5输出: 2 阅读全文
posted @ 2021-05-12 10:33 旺仔古李 阅读(60) 评论(0) 推荐(0)
摘要:给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示: 节点值的范围在32位有 阅读全文
posted @ 2021-05-12 10:00 旺仔古李 阅读(50) 评论(0) 推荐(0)
摘要:给定一个二叉树,根节点为第1层,深度为 1。在其第 d 层追加一行值为 v 的节点。 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左子树和右子树。 将 N 原先的左子树,连接为新节点 v 的左子树;将 N 原先的右子树,连接为新节点 阅读全文
posted @ 2021-05-12 09:54 旺仔古李 阅读(54) 评论(0) 推荐(0)
摘要:你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1: 输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)" 阅读全文
posted @ 2021-05-11 17:50 旺仔古李 阅读(41) 评论(0) 推荐(0)
摘要:给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 阅读全文
posted @ 2021-05-11 17:34 旺仔古李 阅读(51) 评论(0) 推荐(0)
摘要:给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节 阅读全文
posted @ 2021-05-11 17:15 旺仔古李 阅读(44) 评论(0) 推荐(0)
摘要:您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row 阅读全文
posted @ 2021-05-11 14:30 旺仔古李 阅读(59) 评论(0) 推荐(0)
摘要:给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 输入: 2 / \ 1 3 输出:1 示例 2: 输入: 1 / \ 2 3 / / \ 4 5 6 / 7 输出:7 注意: 您可以假设树(即给定的根节点)不为 NULL。 来源:力扣(LeetCode)链接:https://leetco 阅读全文
posted @ 2021-05-11 14:22 旺仔古李 阅读(53) 评论(0) 推荐(0)
摘要:给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出:1 解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 提示: 树中至少有 2 个节点。本题与 783 https://leetcode-cn 阅读全文
posted @ 2021-05-11 14:01 旺仔古李 阅读(52) 评论(0) 推荐(0)