随笔分类 -  树+⼆叉树

力扣刷题第一步
摘要:题目: 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], targ 阅读全文
posted @ 2021-05-15 20:26 堤苏白 阅读(46) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = 阅读全文
posted @ 2021-04-14 13:07 堤苏白 阅读(50) 评论(0) 推荐(0) 编辑
摘要:题目: 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。示例 2: 给定二叉树 [1,2 阅读全文
posted @ 2021-04-10 20:29 堤苏白 阅读(34) 评论(0) 推荐(0) 编辑
摘要:题目: 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 提示: 节点总数 <= 1 阅读全文
posted @ 2021-04-10 20:14 堤苏白 阅读(16) 评论(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 阅读全文
posted @ 2021-04-10 20:04 堤苏白 阅读(47) 评论(0) 推荐(0) 编辑
摘要:题目:查找二叉搜索树的叶子节点 给一个二叉查找树(Binary Search Tree)的前序遍历结果数组,打印出所有的叶子节点。 输入描述: 输入为二叉查找树的前序遍历结果数组,元素之间用空格分隔: 9 8 7 10 输出描述: 所有的叶子节点元素,用空格分隔 解释:因为二叉搜索树的表示为: 9 阅读全文
posted @ 2021-04-09 16:21 堤苏白 阅读(168) 评论(0) 推荐(0) 编辑
摘要:题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最 阅读全文
posted @ 2021-04-05 19:52 堤苏白 阅读(40) 评论(0) 推荐(0) 编辑
摘要:题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3 示例 1: 输入: [1,6,3,2,5] 输出: false 示例 2: 输入 阅读全文
posted @ 2021-04-03 17:30 堤苏白 阅读(46) 评论(0) 推荐(0) 编辑
摘要:题目: 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3 阅读全文
posted @ 2021-04-03 16:52 堤苏白 阅读(32) 评论(0) 推荐(0) 编辑
摘要:题目: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 提示: 节点总数 <= 1000 阅读全文
posted @ 2021-04-01 10:52 堤苏白 阅读(54) 评论(0) 推荐(0) 编辑
摘要:题目: 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9,20,15,7] 提示: 节点总数 <= 1000 代码: 1 /** 2 * Definit 阅读全文
posted @ 2021-03-31 22:03 堤苏白 阅读(33) 评论(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 @ 2021-03-30 21:00 堤苏白 阅读(34) 评论(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] 限制: 0 < 阅读全文
posted @ 2021-03-30 19:13 堤苏白 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目: 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 阅读全文
posted @ 2021-03-30 18:51 堤苏白 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 阅读全文
posted @ 2021-03-16 14:30 堤苏白 阅读(44) 评论(0) 推荐(0) 编辑
摘要:题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 阅读全文
posted @ 2020-12-29 16:47 堤苏白 阅读(90) 评论(0) 推荐(0) 编辑
摘要:题目:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回 n 皇后不同的解决方案的数量。 示例: 输入: 4 输出: 2 解释: 4 皇后问题存在如下两个不同的解法。 [ [".Q..", // 阅读全文
posted @ 2020-12-21 11:00 堤苏白 阅读(45) 评论(0) 推荐(0) 编辑
摘要:题目:给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]] 示例 2: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3] 阅读全文
posted @ 2020-12-17 12:12 堤苏白 阅读(106) 评论(0) 推荐(0) 编辑
摘要:题目:给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 代码: class Solution { public List<List<Int 阅读全文
posted @ 2020-12-17 12:06 堤苏白 阅读(84) 评论(0) 推荐(0) 编辑
摘要:题目:编写一个程序,通过填充空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 '.' 表示。 提示: 给定的数独序列只包含数字 1-9 和字符 阅读全文
posted @ 2020-12-14 10:34 堤苏白 阅读(163) 评论(0) 推荐(0) 编辑

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