链表
文章平均质量分 56
本专栏主要记录博主练习的链表习题,链表是面试考察重点,所以要踏踏实实学习,刻意练习才是王道。加油兄弟们。
厚积薄发ض
当你运行错误时,不如调试一下,当你等待老师的答案时,不如自己百度一下
展开
-
328. 奇偶链表
目录题目链接:题目思路:328. 奇偶链表给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。请注意:偶数组和奇数组内部的相对顺序应该与输入时保持一致。你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。输入: head = [1,2,3,4,5]输出: [1,3,5,2,4]输入: head = [2,1,3,5,6,4,7]输出: [2,3,原创 2022-07-07 09:28:15 · 122 阅读 · 0 评论 -
链表的插入排序
对链表进行插入排序思路:我们可以把链表中的第一个元素当做排好序的头,然后依次往这个头结点上插入(头插,尾插,中间插),也就是刚开始有一个元素的时候我们把他当做有序,我们依次插入元素,还是有序,所以最后链表就是有序的。我们画图来举例拿这个来举例子/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *nex...原创 2022-02-22 16:58:18 · 1884 阅读 · 0 评论 -
合并两个有序链表
21. 合并两个有序链表思路:这个题的主要题意思就是让你将原来有序的两个链表合并成一个有序的链表。主要是让你返回的链表有序合并成一个链表即可。怎么合并成一个链表呢?那我们就得重新创造一个新的头结点新的尾结点,既然它要让新的链表有序,我们可以两个链表从头开始比较,哪个小就要尾插到新的链表上。这道题还有一个大坑点就是我们取下来新的节点,链到新节点的头,但头刚开始是空指针就没法链,所以我们可以先取两个链表较小的做为头结点,然后依次比较尾插到新链表中就可以了;还有一个要注意的点就是判断极端条件,如果原创 2022-02-21 23:41:43 · 444 阅读 · 0 评论