![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
链表类算法题
菜鸡的鼻祖
这个作者很懒,什么都没留下…
展开
-
剑指Offer(第2版)——面试题52:两个链表的第一个公共节点
题目 输入两个链表,找出它们的第一个公共结点。链表节点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 解题思路 首先我们分析有公共节点的两个链表有哪些特点: 从链表节点的定义可以看出,这两个链表是单向链表。如果两个单向链表有公共的节点,那么这两个链表从某一节点开始,他们的next都指向同一个节点;...原创 2019-12-25 22:41:19 · 175 阅读 · 0 评论 -
剑指Offer(第2版)——面试题35:复杂链表的复制
题目: 请实现函数 ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。在复杂链表中,每个节点除了有一个m_pNext 指针指向下一个节点,还有一个m_pSibling 指针指向链表中的任意节点或者nullptr。 ...原创 2019-09-09 21:58:23 · 126 阅读 · 0 评论 -
剑指Offer(第2版)——面试题25:合并两个排序的链表
题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 1.解题思路: 鲁棒性问题:首先判断输入的链表是否为空的指针。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接返回第一个链表;如果两个链表都是空链表,则合并的结果是得到一个空链表。 合并过程:两个链表都是排序好的,只需要从头遍历链表,判断当前指针,哪个链表中的值小,即赋给合并链表指针即可,使用...原创 2019-08-25 22:15:28 · 97 阅读 · 0 评论 -
剑指Offer(第2版)——面试题24:反转链表
题目: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。链表节点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 1.解题思路: ...原创 2019-08-25 17:32:11 · 147 阅读 · 0 评论 -
剑指Offer(第2版)——面试题23:链表中环的入口节点
题目: 如果一个链表中包含环,如何找出环的入口节点?例如:在下图的链表中,环的入口节点是节点3。 1.解题思路: 第一步,如何确定链表中包含环: 首先利用快慢指针法,确定链表是否带环。用两个指针pFast和pSlow。开始时两者都指向头结点pHead,然后同时往后走。快指针一次走两步,慢指针一次走一步。如果最后两者相遇,则链表带环,返回相遇点meetingNode;如果没有相遇,那链表就不...原创 2019-08-22 23:33:36 · 100 阅读 · 0 评论 -
剑指Offer(第2版)——面试题22:链表中倒数第k个节点
题目: 输入一个链表,输出该链表中倒数第k个结点。 1.解题思路: 我们可以定义两个指针,第一个指针从链表的头指针开始遍历向前走k-1,第二个指针保持不动; 从第k步开始,第二个指针也开始从链表的头指针开始遍历。 由于两个指针的距离保持在k-1,当第一个(走在前面的)指针到达链表的尾结点时,第二个指针(走在后面的)指针正好是倒数第k个结点。 注意代码的鲁棒性,需要判断传入参数合法性问题。 方法示...原创 2019-08-17 18:03:56 · 131 阅读 · 0 评论 -
剑指Offer(第2版)——面试题18:删除链表中重复的节点
题目: 在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。 1.解题思路: 三指针法: 删除重复节点,只需要记录当前节点之前的最晚访问过的不重复节点pPre、当前节点pCur、指向当前节点之后节点pNext的三个指针即可。 如...原创 2019-08-14 18:06:14 · 123 阅读 · 0 评论 -
剑指Offer(第2版)——面试题6:反转链表
题目: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解题思路: 初始化: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode...原创 2019-06-16 11:24:29 · 147 阅读 · 0 评论