链表问题
LeetCode链表转栏
尘埃飞舞
凡心所向,素履以往;
生如逆旅,一苇以航。
展开
-
LeetCode-链表-160. 相交链表
160. 相交链表思路一:使用set用到了额外的内存,没有达到题目要求/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *getIntersectionNode(L原创 2021-11-09 16:34:35 · 128 阅读 · 0 评论 -
LeetCode-链表-24. 两两交换链表中的节点
24. 两两交换链表中的节点思路:使用一个头节点,然后用cur指针指向头/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x原创 2021-10-17 11:42:08 · 81 阅读 · 0 评论 -
LeetCode-链表-19. 删除链表的倒数第 N 个结点
描述:19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 100原创 2021-08-31 19:43:01 · 89 阅读 · 0 评论 -
LeetCode-链表-203. 移除链表元素
描述203. 移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]思路一:1:先创建一个虚拟头节点ListNode* dummy=new Li原创 2021-08-25 11:09:01 · 122 阅读 · 0 评论 -
LeetCode-链表-206. 反转链表
描述206. 反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]思路一:双指针法1:首先定义一个头指针初始化为nullptr2:在定义一个cur指向当前指针的节点head3:迭代,直到cur为nullptr跳出循环4:定义一个临时的next保存next节点/** * De原创 2021-08-25 14:00:50 · 110 阅读 · 0 评论 -
LeetCode-链表-面试题 02.07. 链表相交
描述02.07. 链表相交给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersecte原创 2021-09-01 18:44:16 · 145 阅读 · 0 评论 -
LeetCode-链表-142. 环形链表 II
描述142. 环形链表 II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解原创 2021-09-01 18:55:36 · 113 阅读 · 0 评论