自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(251)
  • 收藏
  • 关注

原创 114. 二叉树展开为链表

示例:给定二叉树 [3,9,20,null,null,15,7]

2023-05-24 16:00:17 1043

原创 LeetCode 111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7]

2023-05-23 14:52:38 673

原创 LeetCode 117. 填充每个节点的下一个右侧节点指针 II

填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。

2023-05-22 14:51:48 751

原创 LeetCode 116. 填充每个节点的下一个右侧节点指针

给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。

2023-05-19 15:19:32 623

原创 LeetCode 515. 在每个树行中找最大值

给你二叉树的根节点 root ,返回其节点值的 层序遍历。(即逐层地,从左到右访问所有节点)

2023-05-19 11:19:34 343

原创 LeetCode 429. N 叉树的层序遍历

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

2023-05-18 15:13:16 530

原创 LeetCode 637. 二叉树的层平均值

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差10−5以内的答案可以被接受。

2023-05-18 14:18:02 574

原创 LeetCode 199. 二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

2023-05-17 14:53:40 302

原创 LeetCode 107. 二叉树的层序遍历 II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

2023-05-17 11:01:36 341

原创 LeetCode 124. 二叉树中的最大路径和

对于一个父节点,它关心自己走入一个子树,从中捞取的最大收益,不关心具体怎么走。定义dfs函数:返回当前子树能向父节点“提供”的最大路径和。即,一条从父节点延伸下来的路径,能在当前子树中捞取的最大收益。分三种情况:路径停在当前子树的根节点,在当前子树的最大收益:root.val走入左子树,在当前子树的最大收益:root.val + dfs(root.left)走入右子树,在当前子树的最大收益:root.val + dfs(root.right)

2023-05-16 17:54:09 326

原创 LeetCode 136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?输入: [2,2,1]输出: 1输入: [4,1,2,1,2]输出: 4。

2022-10-27 15:17:55 463

原创 LeetCode 216. 组合总和 III

返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

2022-10-27 11:11:41 361

原创 LeetCode 78. 子集

给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按返回解集。输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]输入:nums = [0]输出:[[],[0]]

2022-10-26 16:41:52 326

原创 LeetCode 48. 旋转图像

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

2022-10-26 13:57:39 205

原创 LeetCode 47. 全排列 II

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

2022-10-25 15:43:15 104

原创 LeetCode 46. 全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以返回答案。输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]输入:nums = [0,1]输出:[[0,1],[1,0]]输入:nums = [1]输出:[[1]]

2022-10-25 15:06:26 272

原创 LeetCode 40. 组合总和 II

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次。注意:解集不能包含重复的组合。输入: candidates = [10,1,2,7,6,1,5], target = 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]

2022-10-24 14:16:56 611

原创 LeetCode16. 最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。输入:nums = [0,0,0], target = 1输出:0。

2022-10-24 11:05:02 657

原创 LeetCode 39. 组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。

2022-10-23 21:52:02 272

原创 LeetCode 208. 实现 Trie (前缀树)

从根结点的子结点开始,一直向下匹配即可,如果出现结点值为空就返回 false,如果匹配到了最后一个字符,那我们只需判断 node.isEnd即可。和 search 操作类似,只是不需要判断最后一个字符结点的isEnd,因为既然能匹配到最后一个字符,那后面一定有单词是以它为前缀的。若搜索到了前缀的末尾,就说明字典树中存在该前缀。此外,若前缀末尾对应节点的 isEnd 为真,则说明字典树中存在该字符串。重复以上步骤,直到处理字符串的最后一个字符,然后将当前节点isEnd = true,即标记为字符串的结尾。

2022-10-22 22:18:11 119

原创 LeetCode 581. 最短无序连续子数组

给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的 最短 子数组,并输出它的长度.输入:nums = [2,6,4,8,10,9,15]输出:5解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。输入:nums = [1,2,3,4]输出:0输入:nums = [1]输出:0。

2022-10-21 18:12:28 155

原创 LeetCode 11. 盛最多水的容器

给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。

2022-10-21 16:54:49 341

原创 LeetCode 15. 三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。

2022-10-20 12:19:24 739

原创 LeetCode 152. 乘积最大子数组

定义maxDp[i]表示以第 i 个元素结尾的乘积最大子数组的乘积;定义minDp[i]表示以第 i 个元素结尾的乘积最小子数组的乘积;

2022-10-20 10:27:51 227

原创 LeetCode53. 最大子数组和

dp[i]:表示以 nums[i] 结尾 的 连续 子数组的最大和。

2022-10-19 15:54:08 386

原创 337. 打家劫舍 III

小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root。除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果,房屋将自动报警。给定二叉树的 root。返回,小偷能够盗取的最高金额。

2022-10-19 15:51:56 266

原创 LeetCode 322. 零钱兑换

dp[i] 表示 输入一个目标金额 amount,返回凑出目标金额 amount 的最少硬币个数。

2022-10-18 16:41:13 353

原创 LeetCode 300. 最长递增子序列

dp[i]表示以nums[i]结尾的最长上升子序列长度;

2022-10-18 11:00:25 419

原创 LeetCode 316. 去除重复字母

给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。输入:s = “bcabc”输出:“abc”输入:s = “cbacdcbc”输出:“acdb”

2022-10-17 15:38:24 403

原创 LeetCode 70. 爬楼梯

定义dp[i] 表示爬到第i阶楼梯的方法数;

2022-10-17 11:17:21 163

原创 LeetCode 221. 最大正方形

在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。

2022-10-16 22:15:30 111

原创 LeetCode 140. 单词拆分 II

给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。注意:词典中的同一个单词可能在分段中被重复使用多次。

2022-10-16 16:29:36 206

原创 LeetCode 139. 单词拆分

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

2022-10-15 23:02:50 298

原创 LeetCode 132. 分割回文串 II

dp[i], 表示范围是[0, i]的回文子串的最少分割次数。

2022-10-15 22:31:15 483

原创 LeetCode 131. 分割回文串

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。回文串是正着读和反着读都一样的字符串。输入:s = “aab”输出:[[“a”,“a”,“b”],[“aa”,“b”]]输入:s = “a”输出:[[“a”]]

2022-10-14 16:28:57 542

原创 LeetCode 97. 交错字符串

初始化 s1,s2,s3 的长度分别为 len1,len2,len3初始化 dp 为 (len1+1)*(len2+1) 的 初始值为false的二维数组, dp[i][j]表示s1的前 i 个元素和s2的前 j个元素是否能交错组成s3的前i + j个元素。

2022-10-14 12:02:16 316

原创 LeetCode 95. 不同的二叉搜索树 II

给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树。可以按 任意顺序 返回答案。

2022-10-13 17:04:25 206

原创 LeetCode 120. 三角形最小路径和

dp[i][j] 表示从点 (i, j) 到底边的最小路径和。

2022-10-13 15:43:20 247

原创 LeetCode 96. 不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

2022-10-12 11:47:26 250

原创 LeetCode 64. 最小路径和

设 dp 为大小 m×n 矩阵,其中 dp[i][j] 的值代表直到走到 (i,j)的最小路径和。

2022-10-12 10:42:50 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除