链表
Saulty
这个作者很懒,什么都没留下…
展开
-
LeetCode 328. 奇偶链表
LeetCode 328. 奇偶链表题目题解代码题目题解先判断是否为空链表创建偶数链表的头节点维护指针 odd 和 even 分别指向奇数节点和偶数节点奇数链表和偶数链表需同时进行拆分最后进行合并代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {}原创 2021-07-25 13:03:14 · 85 阅读 · 0 评论 -
LeetCode 83. 删除排序链表中的重复元素
LeetCode 83. 删除排序链表中的重复元素题目题解代码题目题解链表删除节点代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * Lis原创 2021-07-25 13:02:58 · 67 阅读 · 0 评论 -
LeetCode 203. 移除链表元素
LeetCode 203. 移除链表元素题目题解代码题目题解递归迭代创建空头结点可以不需要两个节点if (temp->next->val == val) {temp->next = temp->next->next;} else {temp = temp->next;}代码/** * Definition for singly-linked list. * struct ListNode { * int val; *原创 2021-07-24 12:01:01 · 79 阅读 · 0 评论 -
LeetCode 141. 环形链表
LeetCode 141. 环形链表题目题解代码题目题解哈希表visited.insert(head);快慢指针:快指针先行有环必定重合注意,无环判断,否则出错关于 链表 的相关问题缺点:无法高效获取长度,无法根据偏移快速访问元素问题:获取倒数第k个元素,获取中间位置的元素,判断链表是否存在环,判断环的长度等和长度与位置有关的问题双指针解决删除节点考虑增加空节点链表考虑递归代码/** * Definition for singly-linked li原创 2021-07-24 12:00:37 · 172 阅读 · 0 评论 -
LeetCode 2. 两数相加
LeetCode 2. 两数相加题目题解代码题目题解无进位,值等于l1,l2节点和;有进位,下一位需进一创建新链表,需ListNode* l=new ListNode(-1);关于进位,一种可直接加在l1,l2节点上;一种用int A存储即可代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() :原创 2021-07-18 12:06:11 · 72 阅读 · 0 评论 -
LeetCode 206. 反转链表
LeetCode 206. 反转链表题目题解代码题目题解链表:头插法代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode原创 2021-07-13 11:35:39 · 88 阅读 · 0 评论 -
LeetCode 21. 合并两个有序链表
LeetCode 21. 合并两个有序链表题目题解代码题目题解链表:新节点的创建迭代:利用第三方链表,哨兵节点递归:无需第三方链表代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x),原创 2021-07-13 11:34:51 · 78 阅读 · 0 评论 -
LeetCode 19. 删除链表的倒数第 N 个结点
LeetCode 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原创 2021-07-08 12:02:24 · 67 阅读 · 0 评论 -
LeetCode 876. 链表的中间结点
LeetCode 977. 有序数组的平方题目题解代码题目给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums.l原创 2021-07-08 10:31:44 · 80 阅读 · 0 评论