刷题笔记
文章平均质量分 58
刷题笔记
Tanecious.
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
牛客 OR36.链表的回文结构
题目描述:对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。创建新的数组,遍历原链表,将链表节点中的值放入数组,在数组中判断是否为回文结构。,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。给定一个链表的头指针。原创 2025-07-11 15:40:05 · 403 阅读 · 0 评论 -
牛客 CM11.链表分割
给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。题目描述:现有一链表的头指针 ListNode*原创 2025-07-10 19:06:30 · 255 阅读 · 0 评论 -
LeetCode 21. 合并两个有序链表
以上代码中在插入 l1 和 l2 的时候分链表为空和不为空的代码十分冗余,可以先通过malloc 为链表分配一个哨兵位就可以解决这个问题,最后再将哨兵位给释放掉即可。新链表是通过拼接给定的两个链表的所有节点组成的。题目描述:将两个升序链表合并为一个新的。原创 2025-07-08 17:19:33 · 285 阅读 · 0 评论 -
LeetCode 面试题 02.02. 返回倒数第 k 个节点
题目描述:实现一种算法,找出单向链表中倒数第 k 个节点。原创 2025-07-07 20:11:11 · 252 阅读 · 0 评论 -
LeetCode 876. 链表的中间结点
当你遇到一个链表问题时,可以问自己以下几个问题来判断是否适用快慢指针:我是不是在寻找一个特殊位置的节点,而不是特定值的节点?这个问题能否通过两个指针的“追及”或“相对距离”来解决?我能否通过让一个指针比另一个走得快,或者先走几步,来创造出解决问题的有利条件?如果答案是肯定的,那么快慢指针很可能就是解决问题的金钥匙。原创 2025-07-06 09:08:18 · 172 阅读 · 0 评论 -
LeetCode 206. 反转链表
*注意:**这个解法仍有内存泄漏的问题,因为就链表的内存没有办法释放。,请你反转链表,并返回反转后的链表。: 指向当前需要反转的节点,初始为。题目描述:给你单链表的头节点。的下一个节点,防止链表断裂。: 指向前一个节点,初始为。遍历链表,对于每个节点。原创 2025-07-04 23:51:02 · 280 阅读 · 0 评论 -
LeetCode 27.移除元素
这中方法虽然简单易懂,但仍然后很多小细节需要注意。而且这种方法并不能通过leetcode的平台测试,因为其空间复杂度为ON2O(N^2)ON2,超出了时间限制不合符题意。双指针法是一种非常常见的算法技巧,特别适用于处理数组、链表或字符串等序列结构的问题,尤其是涉及到原地修改或者查找特定条件的元素对时。原创 2025-05-05 23:45:04 · 631 阅读 · 0 评论 -
LeetCode 189.轮转数组
以上两组代码的代码逻辑基本一致,主要是在将数据移动到新数组时的具体实现思路不同。输入: nums = [1,2,3,4,5,6,7], k = 3。输入: nums = [-1,-100,3,99], k = 2。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]向右轮转 1 步: [99,-1,-100,3]**结果:**不通过,时间复杂度过高,为。输出: [5,6,7,1,2,3,4]原创 2025-04-29 13:39:28 · 502 阅读 · 0 评论
分享