链表相关
文章平均质量分 62
有关链表的编程题
Forward♞
这个作者很懒,什么都没留下…
展开
-
每日一题——排序链表(递归 + 迭代)
注:本体的解法建立在的基础之上,如果对这一排序还不太了解,建议看看:👉👉👉既然采用递归排序来解决这道题,那么我们就要采用分治的思想分治法(Divide and Conquer)是一种解决问题的算法设计策略,它将一个大的问题分解为若干个小的子问题,逐步解决这些子问题,并将它们的解合并成一个大问题的解。原创 2023-08-22 21:25:37 · 114 阅读 · 0 评论 -
每日一题——复杂链表的复制
虽然我们也可以不对原链表进行还原,但。原创 2023-08-06 08:00:00 · 166 阅读 · 0 评论 -
每日一题——回文链表
回文结构即字符串正序逆序完全一致,如“1 2 3 4 3 2 1”,那么我们就要想办法同时比较链表头和链表尾的元素,看其是否相等。原创 2023-08-05 14:31:42 · 172 阅读 · 0 评论 -
每日一题——反转单链表
利用三个指针变量进行反转。注1:循环结束的条件为。原创 2023-08-05 11:01:54 · 148 阅读 · 0 评论 -
每日一题——合并两个有序链表
【代码】每日一题——合并两个有序链表。原创 2023-04-05 11:17:20 · 238 阅读 · 2 评论 -
每日一题——链表的奇偶重排
【代码】每日一题——链表的奇偶重排。原创 2023-04-14 15:06:16 · 373 阅读 · 1 评论 -
每日一题——删除链表中重复的元素——II
只是将重复出现的元素全部删除,而不是保留一个,因此,我们可以遍历整个链表,当遇到相同元素时,内置一个循环,删除相同元素。原创 2023-04-16 16:08:59 · 89 阅读 · 1 评论 -
每日一题——两个链表的第一个公共节点
首先,让我们考虑特殊情况,如果两个链表的·长度相同,那我们定义两个指针变量cur1,cur2,使其分别指向两个表头,并让其一起对表一表二逐个遍历,如果cur1等于cur2,则可以直接返回cur1。当cur1为空时,则下次移动时,让cur1指向表二的头,同理,当cur2为空时,则下次移动时,让cur2指向表一的头。由上面的关系,我们定义两个指针变量cur1,cur2,使其分别指向两个表头,并让其同时每次移动一个节点。设表一长度为A,表二长度为B,则易得:A + B = B + A。原创 2023-04-10 23:09:25 · 61 阅读 · 1 评论 -
每日一题——设计双向链表
题目所给函数传递的是一级指针,因此我们就要使用带哨兵位的双向链表。原创 2023-04-29 13:52:47 · 90 阅读 · 0 评论 -
每日一题——两个链表相加
要进行正序相加,就必须保证两个链表所代表数字的个、十、百·······位对齐,因此我们就必须计算这连个链表的长度,和他们的长度差,再定义两个指针变量cur1、cur2,使其分别指向表一表二的头,最后让链表较长的cur走count个节点,同时将这些节点的数据域链接到新表(需要新建节点)。做到这里,突然就发现不对了。当cur1和cur2对齐后,就可以进行逐位相加了,如果相加的值大于等于10,就向前一位进一。看到这题,我首先想到的就是直接正序相加。首先创建一个新表头,并让其数据域为零。原创 2023-04-11 13:43:32 · 61 阅读 · 1 评论 -
每日一题——判断链表是否有环
一开始看到这题,想着,这题蛮简单的,直接定义一个变量tail指针,找到链表的尾,然后判断tail是否为空不就行了吗,但一操作就发现,我们找到单链表的尾一般是遍历链表,如果最后tail->next为空,那说明tail已经到尾了,但这题,如果该链表有环,那么tail->next无论如何也不可能为空,所以这种方法行不通。原创 2023-04-06 20:12:46 · 80 阅读 · 0 评论 -
每日一题——删除链表的倒数第n个节点
的基础上,增加了删除操作,因此基本思路是相同的。原创 2023-04-09 11:19:31 · 56 阅读 · 1 评论 -
每日一题——链表中环的入口
【代码】每日一题——链表中环的入口。原创 2023-04-07 21:48:43 · 77 阅读 · 2 评论 -
每日一题——删除有序链表中重复的元素——I
给定个链表已经有序,那这就好办了,我们只需要从头遍历整个链表,比较相邻元素,再删除重复元素即可,原创 2023-04-15 11:15:55 · 267 阅读 · 0 评论 -
每日一题——链表中倒数最后k个节点
思路一:由于单链表不能逆序遍历,因此我们可以先从头到尾遍历一次链表,求出链表的长度length,最后再从头到尾遍历一次链表,到第length - k + 1个节点时,即到达倒数第k个节点,返回这个节点即可。我们可以定义快慢指针,并使其之间的距离为k,这样当快指针走到链表尾时,慢指针恰好停在了倒数第k个节点。原创 2023-04-08 10:37:06 · 217 阅读 · 0 评论 -
每日一题——设计单链表
【代码】每日一题——设计单链表。原创 2023-04-28 21:55:23 · 94 阅读 · 1 评论 -
每日一题—— 移除链表元素
【代码】每日一题—— 移除链表元素。原创 2023-04-27 18:41:44 · 87 阅读 · 1 评论 -
每日一题——两两交换链表中的节点
定义指针cur = head,prev = newHead(即cur的前一个节点),当cur和cur->next不为空时进行循环。每次循环都定义一个temp = cur->next,对cur,temp,prev三个指针进行操作,从而实现节点的交换。新建一个表头newHead指向原来的表头head。如图展示的就是交换第一组节点的过程。最后返回新头结点的next即可。原创 2023-04-30 12:34:47 · 73 阅读 · 0 评论