随笔分类 - LeetCode
发表于 2021-08-04 20:42阅读:242评论:0推荐:0
摘要:209. 长度最小的子数组 知识点:数组;前缀和;二分查找;双指针;滑动窗口 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返
阅读全文 »
发表于 2021-08-04 17:39阅读:97评论:0推荐:0
摘要:69. x 的平方根 知识点:二分查找;数学 题目描述 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 输入: 4 输出: 2 输入: 8 输出: 2 说明: 8 的平方根是 2.82
阅读全文 »
发表于 2021-08-03 10:14阅读:101评论:0推荐:0
摘要:1162. 地图分析 知识点:图;递归 题目描述 你现在手里有一份大小为 N x N 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的。 我们这里说的距离是「曼哈顿距离」(
阅读全文 »
发表于 2021-08-03 09:45阅读:125评论:0推荐:1
摘要:133. 克隆图 知识点:图;递归;BFS 题目描述 给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。 class Node { public int val; public List<Nod
阅读全文 »
发表于 2021-08-03 09:19阅读:207评论:0推荐:0
摘要:841. 钥匙和房间 知识点:图;递归;BFS 题目描述 有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。 在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由
阅读全文 »
发表于 2021-08-02 22:21阅读:42评论:0推荐:0
摘要:700. 二叉搜索树中的搜索 知识点:二叉树;递归 题目描述 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 示例 给定二叉搜索树: 4 / \ 2 7 / \ 1 3 和值: 2 返回: 2 /
阅读全文 »
发表于 2021-08-02 22:16阅读:89评论:0推荐:0
摘要:297. 二叉树的序列化与反序列化 知识点:二叉树;递归 题目描述 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定
阅读全文 »
发表于 2021-08-02 21:39阅读:63评论:0推荐:0
摘要:669. 修剪二叉搜索树 知识点:二叉树;递归 题目描述 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。
阅读全文 »
发表于 2021-08-02 21:16阅读:115评论:0推荐:0
摘要:235. 二叉搜索树的最近公共祖先 知识点:二叉树;递归 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是
阅读全文 »
发表于 2021-08-02 20:58阅读:414评论:0推荐:1
摘要:98. 验证二叉搜索树 知识点:二叉树;递归 题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 输入: 2 / \ 1 3 输出
阅读全文 »
发表于 2021-08-02 20:23阅读:130评论:0推荐:0
摘要:701. 二叉搜索树中的插入操作 知识点:二叉树;递归 题目描述 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即
阅读全文 »
发表于 2021-07-31 15:55阅读:179评论:0推荐:0
摘要:27.移除元素 知识点:数组;双指针; 题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后
阅读全文 »
发表于 2021-07-28 19:03阅读:80评论:0推荐:0
摘要:142. 环形链表 II 知识点:链表;set;快慢指针 题目描述 给定一个链表,判断链表中是否有环。 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是
阅读全文 »
发表于 2021-07-28 18:35阅读:44评论:0推荐:0
摘要:141. 环形链表 知识点:链表;集合;快慢指针 题目描述 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1
阅读全文 »
发表于 2021-07-27 19:36阅读:129评论:0推荐:1
摘要:【BFS】111. 二叉树的最小深度 知识点:二叉树,递归;BFS 题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 输入:root = [3,9,20,null,null,15,7] 输出:2 输入:r
阅读全文 »
发表于 2021-07-27 18:41阅读:53评论:0推荐:0
摘要:105. 从前序与中序遍历序列构造二叉树 知识点:二叉树,递归 题目描述 根据一棵树的中序遍历与前序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 示例 Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] Output: [3,
阅读全文 »
发表于 2021-07-27 18:39阅读:85评论:0推荐:0
摘要:106. 从中序与后序遍历序列构造二叉树 知识点:二叉树,递归 题目描述 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 示例 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树
阅读全文 »
发表于 2021-07-27 14:36阅读:147评论:0推荐:0
摘要:129. 求根节点到叶节点数字之和 知识点:二叉树;递归 题目描述 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 → 2 → 3 表示数字 123 。 计算从根节点到叶节点生成的
阅读全文 »
发表于 2021-07-27 14:13阅读:41评论:0推荐:0
摘要:404. 左叶子之和 知识点:二叉树 题目描述 计算给定二叉树的所有左叶子之和。。 示例 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 解法一:DFS 函数功能:左叶子之和 1.终止条件:root为空,返回0; 2.能做什么:判断自己的左
阅读全文 »
发表于 2021-07-27 14:00阅读:53评论:0推荐:0
摘要:102. 二叉树的层序遍历 知识点:二叉树;队列 题目描述 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层序遍历结果: [ [3], [9,
阅读全文 »