LeetCode 随笔
文章平均质量分 73
LeetCode 刷题笔记
不会写代码的里奇
这个作者很懒,什么都没留下…
展开
-
LeetCode 47.全排列 II
给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。原创 2024-05-24 23:49:15 · 319 阅读 · 0 评论 -
LeetCode 46.全排列
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。原创 2024-05-24 23:14:13 · 406 阅读 · 0 评论 -
LeetCode 491.递增子序列
给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。原创 2024-05-23 23:39:10 · 178 阅读 · 0 评论 -
LeetCode 90.子集II
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的 子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。原创 2024-05-23 20:34:16 · 281 阅读 · 0 评论 -
LeetCode 78.子集
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。原创 2024-05-22 22:18:29 · 201 阅读 · 0 评论 -
LeetCode 93.复原IP地址
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。● 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。你 不能 重新排序或删除 s 中的原创 2024-05-22 22:06:26 · 393 阅读 · 0 评论 -
LeetCode 131.分割回文串
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。原创 2024-05-21 23:34:08 · 298 阅读 · 0 评论 -
LeetCode 40.组合总和II
定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。原创 2024-05-21 23:29:47 · 594 阅读 · 0 评论 -
LeetCode 39. 组合总和
给你一个的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有,并以列表形式返回。你可以按返回这些组合。candidates 中的数字可以。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。原创 2024-05-20 20:32:42 · 600 阅读 · 0 评论 -
LeetCode 17.电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。原创 2024-05-20 20:30:11 · 920 阅读 · 0 评论 -
LeetCode 216.组合总和III
找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:● 只使用数字1到9● 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。原创 2024-05-19 20:40:46 · 251 阅读 · 0 评论 -
LeetCode 77. 组合
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。原创 2024-05-19 19:59:05 · 385 阅读 · 0 评论 -
LeetCode 538.把二叉搜索树转换为累加树
给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。原创 2024-05-18 12:26:50 · 873 阅读 · 0 评论 -
LeetCode 108.将有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。原创 2024-05-18 12:24:17 · 885 阅读 · 0 评论 -
LeetCode 669. 修剪二叉搜索树
给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在 唯一的答案 。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。原创 2024-05-17 20:39:26 · 977 阅读 · 0 评论 -
LeetCode 450.删除二叉搜索树中的节点
给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:1. 首先找到需要删除的节点;2. 如果找到了,删除它。原创 2024-05-17 20:37:49 · 999 阅读 · 0 评论 -
LeetCode 701.二叉搜索树中的插入操作
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。原创 2024-05-16 20:31:38 · 919 阅读 · 0 评论 -
LeetCode 235. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”原创 2024-05-16 17:27:04 · 726 阅读 · 0 评论 -
LeetCode 236. 二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”原创 2024-05-16 15:44:27 · 505 阅读 · 0 评论 -
LeetCode 501. 二叉搜索树中的众数
给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按 任意顺序 返回。假定 BST 满足如下定义:结点左子树中所含节点的值 小于等于 当前节点的值结点右子树中所含节点的值 大于等于 当前节点的值左子树和右子树都是二叉搜索树原创 2024-05-14 22:55:18 · 245 阅读 · 0 评论 -
LeetCode 530. 二叉搜索树的最小绝对差 || LeetCode 783. 二叉搜索树节点最小距离
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。原创 2024-05-14 22:30:46 · 510 阅读 · 0 评论 -
LeetCode 700.二叉搜索树中的搜索
给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。原创 2024-05-13 23:02:27 · 609 阅读 · 0 评论 -
LeetCode 98. 验证二叉搜索树
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。原创 2024-05-13 22:51:37 · 700 阅读 · 0 评论 -
LeetCode 617.合并二叉树
给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。原创 2024-05-12 20:32:32 · 907 阅读 · 1 评论 -
LeetCode 654.最大二叉树
给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的 最大二叉树 。原创 2024-05-12 20:30:11 · 661 阅读 · 0 评论 -
LeetCode 105.从前序与中序遍历序列构造二叉树
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。原创 2024-05-11 23:12:42 · 861 阅读 · 0 评论 -
LeetCode 106.从中序与后序遍历序列构造二叉树
给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。原创 2024-05-11 23:01:22 · 2205 阅读 · 0 评论 -
LeetCode 112. 路径总和 || LeetCode 113. 路径总和ii
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。原创 2024-05-10 23:40:00 · 1183 阅读 · 0 评论 -
LeetCode 513.找树左下角的值
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。原创 2024-05-10 18:23:44 · 911 阅读 · 0 评论 -
LeetCode 404.左叶子之和
给定二叉树的根节点 root ,返回所有左叶子之和。原创 2024-05-09 23:52:04 · 466 阅读 · 0 评论 -
LeetCode 257. 二叉树的所有路径
给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。原创 2024-05-09 22:59:08 · 460 阅读 · 0 评论 -
LeetCode 110. 平衡二叉树
给定一个二叉树,判断它是否是 平衡二叉树原创 2024-05-08 21:34:50 · 504 阅读 · 0 评论 -
LeetCode 222.完全二叉树的节点个数
给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。原创 2024-05-08 20:32:34 · 580 阅读 · 0 评论 -
LeetCode 111.二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。原创 2024-05-07 20:35:15 · 338 阅读 · 0 评论 -
LeetCode 101.对称二叉树
给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。原创 2024-05-07 20:32:11 · 230 阅读 · 0 评论 -
LeetCode 101.对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。原创 2024-05-06 23:11:36 · 412 阅读 · 1 评论 -
LeetCode 226.翻转二叉树(全网最多的解法)
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。原创 2024-05-06 22:55:51 · 1359 阅读 · 1 评论 -
二叉树的统一迭代法 | LeetCode 144. 二叉树的前序遍历、LeetCode 94. 二叉树的中序遍历、LeetCode 145. 二叉树的后序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。给你二叉树的根节点 root ,返回它节点值的 前序 遍历。原创 2024-05-05 22:31:17 · 649 阅读 · 0 评论 -
二叉树的迭代遍历 | LeetCode 144. 二叉树的前序遍历、LeetCode 94. 二叉树的中序遍历、LeetCode 145. 二叉树的后序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。给你二叉树的根节点 root ,返回它节点值的 前序 遍历。原创 2024-05-04 21:38:37 · 688 阅读 · 0 评论 -
二叉树的递归遍历 | LeetCode 144. 二叉树的前序遍历、LeetCode 94. 二叉树的中序遍历、LeetCode 145. 二叉树的后序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。给你二叉树的根节点 root ,返回它节点值的 前序 遍历。原创 2024-05-04 21:17:29 · 1143 阅读 · 0 评论