12 2020 档案

摘要:题目定义: 给定一个整数 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] ] 解释: 以上的输出对应以下 阅读全文
posted @ 2020-12-28 15:28 0xHigos 阅读(91) 评论(0) 推荐(0)
摘要:题目定义: 二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法, 把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。 返回转换后的单向链表的头节点。 注意:本题相对原题稍作改动 阅读全文
posted @ 2020-12-22 16:24 0xHigos 阅读(110) 评论(0) 推荐(0)
摘要:题目定义: 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3 阅读全文
posted @ 2020-12-22 15:30 0xHigos 阅读(76) 评论(0) 推荐(0)
摘要:题目定义: 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 阅读全文
posted @ 2020-12-22 14:39 0xHigos 阅读(78) 评论(0) 推荐(0)
摘要:题目定义: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x, 满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root =  阅读全文
posted @ 2020-12-18 11:49 0xHigos 阅读(91) 评论(0) 推荐(0)
摘要:题目定义: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root 阅读全文
posted @ 2020-12-18 11:03 0xHigos 阅读(85) 评论(0) 推荐(0)
摘要:题目定义: 输入一棵二叉树的根节点,求该树的深度。 从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 提示: 节点总数 < 阅读全文
posted @ 2020-12-17 11:29 0xHigos 阅读(60) 评论(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 / \ 阅读全文
posted @ 2020-12-17 11:13 0xHigos 阅读(84) 评论(0) 推荐(0)
摘要:题目定义: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 提示: 节点总数 <= 10 阅读全文
posted @ 2020-12-17 10:47 0xHigos 阅读(83) 评论(0) 推荐(0)
摘要:题目定义: 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 阅读全文
posted @ 2020-12-16 15:29 0xHigos 阅读(98) 评论(0) 推荐(0)
摘要:题目定义: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出: 4 / \ 7 2 / \ / \ 9 6 3 1 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 限制 阅读全文
posted @ 2020-12-16 14:54 0xHigos 阅读(54) 评论(0) 推荐(0)
摘要:题目定义: 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 阅读全文
posted @ 2020-12-16 14:37 0xHigos 阅读(188) 评论(0) 推荐(0)
摘要:题目定义: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。 只有与值 x 和 y 对应的节点是堂兄弟 阅读全文
posted @ 2020-12-16 11:15 0xHigos 阅读(78) 评论(0) 推荐(0)
摘要:题目定义: 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。 示例 1: 1 / \ 1 1 / \ \ 1 1 1 输入:[1,1,1,1,1,null,1] 输出:true 示例 2: 2 / \ 2 2 / \ 阅读全文
posted @ 2020-12-15 11:51 0xHigos 阅读(58) 评论(0) 推荐(0)
摘要:题目定义: 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1: 10 / \ 5 15 / \ \ 3 7 18 输入:root = [10,5,15,3,7,null,18], low = 7, high = 15 输出:32 示例 2: 阅读全文
posted @ 2020-12-15 11:32 0xHigos 阅读(98) 评论(0) 推荐(0)
摘要:题目定义: 给你一个树,请你 按中序遍历 重新排列树,使树中最左边的结点现在是树的根, 并且每个结点没有左子结点,只有一个右子结点。 示例 : 输入:[5,3,6,2,4,null,8,1,null,null,null,7,9] 5 / \ 3 6 / \ \ 2 4 8 / / \ 1 7 9 输 阅读全文
posted @ 2020-12-15 10:32 0xHigos 阅读(78) 评论(0) 推荐(0)
摘要:Leetcode 872 叶子相似的树 题目定义: 请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列。 3 / \ 5 1 / | | \ 6 2 9 8 / \ 7 4 举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。 如果有两棵二叉 阅读全文
posted @ 2020-12-14 14:02 0xHigos 阅读(56) 评论(0) 推荐(0)
摘要:Leetcode 700 二叉搜索树中的搜索 题目定义: 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树: 4 / \ 2 7 / \ 1 3 和值: 2 你应该返回如下子 阅读全文
posted @ 2020-12-14 11:44 0xHigos 阅读(53) 评论(0) 推荐(0)
摘要:Leetcode 二叉树中第二小的节点 题目定义: 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。 如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。 更正式地说,root.val = min(root.left.val, root.r 阅读全文
posted @ 2020-12-14 11:35 0xHigos 阅读(77) 评论(0) 推荐(0)
摘要:Leetcode 669 修剪二叉搜索树 数据结构定义: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。 阅读全文
posted @ 2020-12-11 15:27 0xHigos 阅读(63) 评论(0) 推荐(0)
摘要:Leetcode 653 两数之和IV - 输入BST 数据结构定义: 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 输出: True 案例 2: 阅读全文
posted @ 2020-12-10 20:06 0xHigos 阅读(62) 评论(0) 推荐(0)
摘要:Leetcode 637二叉树的层平均值 数据结构定义: 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 阅读全文
posted @ 2020-12-10 18:47 0xHigos 阅读(50) 评论(0) 推荐(0)
摘要:Leetcode 617 合并二叉树 数据结构定义: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 阅读全文
posted @ 2020-12-10 13:05 0xHigos 阅读(59) 评论(0) 推荐(0)
摘要:Leetcode 606 根据二叉树创建字符串 数据结构定义: 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1: 输入: 二叉树: [1,2,3,4 阅读全文
posted @ 2020-12-10 11:07 0xHigos 阅读(78) 评论(0) 推荐(0)
摘要:Leetcode 589 N叉树的前序遍历 数据结构定义: 给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个 3叉树 : 1 / | \ 3 2 4 / \ 5 6 返回其前序遍历: [1,3,5,6,2,4]。 说明: 递归法很简单,你可以使用迭代法完成此题吗? /* // Defin 阅读全文
posted @ 2020-12-09 16:42 0xHigos 阅读(60) 评论(0) 推荐(0)
摘要:Leetcode 572 另一个树的子树 数据结构定义: 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 示例 1: 给定的树 s: 3 / \ 4 5 / \ 1 2 阅读全文
posted @ 2020-12-08 20:26 0xHigos 阅读(62) 评论(0) 推荐(0)
摘要:Leetcode 二叉树的坡度 数据结构定义: 给定一个二叉树,计算 整个树 的坡度 。 一个树的 节点的坡度 定义即为,该节点左子树的节点之和和右子树节点之和的 差的绝对值 。如果没有左子树的话,左子树的节点之和为 0 ;没有右子树的话也是一样。空结点的坡度是 0 。 整个树 的坡度就是其所有节点 阅读全文
posted @ 2020-12-08 15:42 0xHigos 阅读(55) 评论(0) 推荐(0)
摘要:Leetcode 559 N叉树的最大深度 数据结构定义: 给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。 示例 1: 1 / | \ 3 2 4 / \ 5 6 输入:root 阅读全文
posted @ 2020-12-08 11:52 0xHigos 阅读(92) 评论(0) 推荐(0)
摘要:Leetcode 543 二叉树的直径 数据结构定义: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者  阅读全文
posted @ 2020-12-08 11:03 0xHigos 阅读(72) 评论(0) 推荐(0)
摘要:Leetcode 783(530)二叉搜索树的最小距离 数据结构定义: 给定一个二叉搜索树的根节点 root,返回树中任意两节点的差的最小值。 示例: 输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树节点对象(TreeNode object), 阅读全文
posted @ 2020-12-07 19:25 0xHigos 阅读(56) 评论(0) 推荐(0)
摘要:Leetcode 501 二叉搜索树中的众树 数据结构定义: 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索 阅读全文
posted @ 2020-12-07 12:48 0xHigos 阅读(163) 评论(0) 推荐(0)
摘要:Leetcode 404 左叶子之和 数据结构定义: 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 /** * Definition for a binary tree node. * publi 阅读全文
posted @ 2020-12-04 11:50 0xHigos 阅读(27) 评论(0) 推荐(0)
摘要:Leetcode 257 二叉树的所有路径 数据结构定义: 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 阅读全文
posted @ 2020-12-04 10:59 0xHigos 阅读(55) 评论(0) 推荐(0)
摘要:Leetcode 235 二叉树的最近公共祖先 数据结构定义: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自 阅读全文
posted @ 2020-12-03 20:55 0xHigos 阅读(74) 评论(0) 推荐(0)
摘要:Leetcode 226翻转二叉树 数据结构定义: 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 /** * Definition for a binary tree node. * public c 阅读全文
posted @ 2020-12-03 11:16 0xHigos 阅读(48) 评论(0) 推荐(0)
摘要:Leetcode 111 二叉树的最小深度 数据结构定义: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 输入:root = [3,9,20,null,null,15,7] 输出:2 输入:root = [2,nul 阅读全文
posted @ 2020-12-02 10:31 0xHigos 阅读(46) 评论(0) 推荐(0)
摘要:Leetcode 110 平衡二叉树 数据结构定义: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 阅读全文
posted @ 2020-12-01 20:54 0xHigos 阅读(64) 评论(0) 推荐(0)
摘要:Leetcode 108 将有序数组转换为二叉搜索树 数据结构定义: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是: 阅读全文
posted @ 2020-12-01 18:15 0xHigos 阅读(47) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示