链表
文章平均质量分 56
RPG_Zero
春日雨,夏蝉鸣,明天是个好天气。
秋风起,雪花轻,海底看不见四季。
展开
-
LeetCode 链表阶段性总结 个人向 专题通关计划
文章目录虚拟头结点 哨兵结点双指针法 快慢指针真题:leetcode 剑指offer22 链表倒数第k个节点 双指针法 代码鲁棒性真题:删除链表的倒数第N个结点 双指针法 链表 虚拟头结点练习题目四结点法专题:链表反转真题:LeetCode 206. 反转链表 辅助结点真题:LeetCode 92. 反转链表II真题:LeetCode 24. 两两交换链表中的节点真题:LeetCode 25 K个一组翻转链表 分组+链表反转 虚拟头、尾结点综合题目:LeetCode143. 重排链表 因为是篇个人向的文章,原创 2021-11-27 01:24:35 · 764 阅读 · 0 评论 -
LeetCode 25 K个一组翻转链表 hard 分组+链表反转 虚拟头、尾结点
题目链接 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 进阶: 你可以设计一个只使用常数额外空间的算法来解决此问题吗? 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 提示: 列表中节点的数量在范围 sz 内 1 <= sz <= 5000 0 <= Node.val <= 1000 1 <= k <= sz 解题思原创 2021-11-17 14:05:51 · 148 阅读 · 0 评论 -
LeetCode 206. 反转链表 双指针法 辅助结点 递归
题目链接 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题? 双指针法+辅助结点: AC代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *原创 2021-11-16 22:28:17 · 438 阅读 · 0 评论 -
LeetCode 19 删除链表的倒数第N个结点 双指针法 链表 虚拟头结点
题目链接 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 > 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示: 链表中结点的数目为 sz 1 <= sz <= 30 0 <= Node.val <= 100 1 <= n <= sz 进阶:你能尝试使用一趟扫描实现吗? 双指针法,一遍扫描 AC代码: /** * Definition for si原创 2021-11-16 14:00:30 · 332 阅读 · 0 评论 -
LeetCode 2 两数相加 单向链表
题目链接 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1:输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2:输入:l1 = [0], l2 = [0] 输出:[0] 示例 3:输入:l1 = [9,9,9,9,9,9,9], l2 =原创 2021-05-17 15:39:51 · 133 阅读 · 0 评论 -
leetcode 剑指offer22 链表倒数第k个节点 双指针法 代码鲁棒性
题目链接 剑指 Offer 22. 链表中倒数第k个节点 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 给定一个链表: 1->2->3->4->5, 和 k = 2. 返回链表 4->5. 一道easy的题目,最简单的方法就是先遍历得到链表的长度,然后将指针移动到原创 2021-11-15 21:09:34 · 542 阅读 · 0 评论