代码随想录刷题
文章平均质量分 77
根据Carl的路线刷leetcode
惘栀箱
这个作者很懒,什么都没留下…
展开
-
代码随想录算法 Day24 | Ch7 回溯算法(三 )● 93.复原IP地址 ● 78. 子集 ●90. 子集Ⅱ
正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。给定一个只包含数字的字符串s,用以表示一个 IP 地址,返回所有可能的,这些地址可以通过在s中插入'.'来形成。你重新排序或删除s中的任何数字。你可以按顺序返回答案。2.思路:现在原字符串里插入'.'再对每一段数字判断。原创 2024-09-12 18:07:21 · 337 阅读 · 0 评论 -
代码随想录算法 Day23 | Ch7 回溯算法(二 )● 39.组合总和 ● 40. 组合总和 Ⅱ ●131. 分割回文串
1.题目:给你一个的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的 所有,并以列表形式返回。你可以按返回这些组合。candidates中的数字可以。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。2.思路:基本回溯模板3.注意:数字可以重复,在递归时startIndex不用 +1,从当前数字开始即可。原创 2024-09-12 14:38:39 · 440 阅读 · 0 评论 -
代码随想录算法 Day22 | Ch7 回溯算法(一 )● 77.组合 ● 216. 组合总和 Ⅲ ●17. 电话号码的字母组合
1.题目:给定两个整数n和k,返回范围[1, n]中所有可能的k个数的组合。你可以按返回答案。2.思路:抽象为 n 叉树,深度为 k。原创 2024-09-11 23:09:17 · 381 阅读 · 0 评论 -
代码随想录算法 Day21 | Ch6 二叉树(八 )● 669.修剪二叉搜索树 ● 108. 将有序数组转换成二叉搜索树 ●538. 把二叉搜索树转换为累加树
1.题目:给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在中。修剪树改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。原创 2024-09-11 20:18:43 · 324 阅读 · 0 评论 -
代码随想录算法 Day20 | Ch6 二叉树(七 )● 235.二叉搜索树的最近公共祖先 ● 701. 二叉搜索树中的插入操作 ●236. 删除二叉搜索树的节点
1.题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。原创 2024-09-10 23:09:13 · 259 阅读 · 0 评论 -
代码随想录算法 Day18 | Ch6 二叉树(六)● 530.二叉搜索树的最小绝对差 ● 501. 二叉搜索树中的众数 ●236. 二叉树的最近公共祖先
1.题目:给你一个二叉搜索树的根节点root,返回。差值是一个正数,其数值等于两值之差的绝对值。2.思路:3.注意:(1)两个不同节点可以不相邻。原创 2024-09-09 22:33:49 · 426 阅读 · 0 评论 -
代码随想录算法 Day17 | Ch6 二叉树(五)● 654.最大二叉树 ● 617. 合并二叉树 ●700. 二叉搜索树中的搜索 ●98. 验证二叉搜索树
1.题目:给定一个不重复的整数数组nums。可以用下面的算法从numsnums返回 nums构建的最大二叉树。2.思路:3.注意:(1)方法一中在递归时不断创建新数组,会消耗大量内存,修改为方法二,使用记录下标的方式在原数组 nums 上获取数值即可。方法二中局部变量甚至不需要 maxValue ,使用 nums[maxIndex] 即可获取所需数值,无需用变量记录。(2)方法二中在寻找区间最大值时把变量定义和 for循环参数改成注释部分会运行超时。原创 2024-09-08 22:03:56 · 340 阅读 · 0 评论 -
代码随想录算法 Day16 | Ch6 二叉树(四)● 513.找树左下角的值 ● 112/113. 路径总和 ●106. 从中序与后序遍历序列构造二叉树
1.题目:给定一个二叉树的root,请找出该二叉树的节点的值。假设二叉树中至少有一个节点。原创 2024-09-05 22:34:45 · 367 阅读 · 0 评论 -
代码随想录算法 Day15 | Ch6 二叉树(三)● 110.平衡二叉树 ● 257. 二叉树的所有路径 ●404. 左叶子之和 ● 222.完全二叉树的节点个数
今日习题优先掌握递归。原创 2024-09-04 20:38:01 · 827 阅读 · 0 评论 -
代码随想录算法 Day14 | Ch6 二叉树(二)● 226.翻转二叉树 ● 101. 对称二叉树 ●104. 二叉树的最大深度 ● 111.二叉树的最小深度
今日份题目优先掌握递归方式。原创 2024-09-04 12:23:02 · 289 阅读 · 0 评论 -
代码随想录算法 Day13 | Ch6 二叉树(一) 二叉树理论基础
要会自己写出定义,面试常考。int val;原创 2024-09-03 21:53:09 · 530 阅读 · 0 评论 -
代码随想录算法 Day9 | Ch4 字符串(二)●151.翻转字符串里的单词 ●卡码网55.右旋转字符串 ●28. 实现 strStr() ●459.重复的子字符串
1.题目:给你一个字符串s,请你反转字符串中的顺序。是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的分隔开。返回顺序颠倒且之间用单个空格连接的结果字符串。输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。2.思路:先删除多余的空格,然后把字符串整体反转,再把单词反转3.注意:(1)erase()本身的复杂度为O(n),如果在循环里面使用,时间复杂度将变为O(n²)原创 2024-08-22 23:14:58 · 348 阅读 · 0 评论 -
代码随想录算法 Day8 | Ch4 字符串(一)● 344.反转字符串● 541. 反转字符串II ●卡码网54. 替换数字
1.题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。2.思路:双指针分别从字符串首尾往中间靠拢即可3.注意:在函数 swapchar(char &a, char &b) 的形参里一定要加 &,没有&时只是交换局部变量 a 和 b。原创 2024-08-21 22:24:09 · 364 阅读 · 0 评论 -
代码随想录算法 Day6 | Ch3 哈希表(一)● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和
1.题目:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。2.思路:哈希表3.注意:无需创建两个数组,在对 s 的字母统计时在哈希表上递增,在统计 t 时递减即可。原创 2024-08-19 23:47:31 · 271 阅读 · 0 评论 -
代码随想录算法 Day4 | 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,142.环形链表Ⅱ,160. 链表相交
1.题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。2.思路:正常模拟链表next的变换即可3.注意:注意next链路改变时原有路径会消失,所以需要创建辅助链表节点。原创 2024-08-17 21:38:28 · 975 阅读 · 0 评论 -
代码随想录算法 Day3 | 203.移除链表元素,707.设计链表,206.反转链表
一、移除链表元素1.题目:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回。2.思路:依次循环即可3.注意:C++在删除节点后需要对其释放,否则在内存中还是会存在占用4.代码:(1)方式一:对 head 节点单独处理(2)方式二:自定义一个虚拟 head 节点。原创 2024-08-16 22:20:51 · 968 阅读 · 0 评论 -
代码随想录算法 Day2 | 209. 长度最小的子数组,59. 螺旋矩阵Ⅱ ,7.区间和,44.开发商购买土地
1.题目:给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2.思路: 滑动窗口3.注意:(1)所示代码中for循环内判断条件用while而不是if循环体内使用 if 时,窗口左边界移动一次后尚未判断新窗口内子数组元素和是否 >= target 就会将右边界移动。原创 2024-08-15 20:20:59 · 779 阅读 · 0 评论 -
代码随想录算法 Day1 | 704. 二分查找,27. 移除元素 ,977.有序数组的平方
3.注意:①慢指针变动的条件 ②快指针强调当前检查元素,慢指针强调元素位置。2.思路:双指针(由数组排序性质可知:大的数字在两侧,小的数字在中间)3.注意:可新建一个等大小的数组,不必拘泥于在原数组上操作。3.注意:左闭右开与左开右闭两者写法的判断条件的区别。元素的顺序可能发生改变。1.题目:给你一个数组。1.题目:给你一个按。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。组成的新数组,要求也按。原创 2024-08-14 19:03:08 · 305 阅读 · 0 评论