题目描述 输入两个链表,找出它们的第一个公共结点。 思路:这里首先理解一下暴力的方法,对于链表1的每一个节点,都去链表2中查找是否有该节点。 然后自己在思考的时候陷入了是否有环链表,这道题目不需要考虑是否有环,因为有环其实就是一个链表。 这题使用快慢指针,先得到两个链表的长度,定义两个头结点,哪个长 ...
分类:
其他好文 时间:
2018-01-04 18:13:48
阅读次数:
118
public class 链表中的环入口节点{ // pHead为第一个节点 private ListNode entryNodeOfCycle(ListNode pHead) { ListNode meetNode = meetNode(pHead); // 如果没有环 if (meetNode ...
分类:
其他好文 时间:
2018-01-04 18:05:09
阅读次数:
136
"欢迎fork and star:Nowcoder Repository github" 143. Reorder List 题目: 解答: 主要思路:快慢指针找到中间节点,将后面的链表反转(前插法),合并链表 注意细节,链表为没有空头结点的 "题目来源:143. Reorder List" ...
分类:
其他好文 时间:
2017-12-22 21:52:04
阅读次数:
146
上次我们学习了环形链表的数据结构,那么接下来我们来一起看看下面的问题, 判断一个单向链表是否是环形链表? 看到这个问题,有人就提出了进行遍历链表,记住第一元素,当我们遍历后元素再次出现则是说明是环形链表,如果没有这是一个单向非环形链表。 我们来分析下上述的解决方法,我们分析这个程序的时间复杂度则是O ...
分类:
编程语言 时间:
2017-11-14 11:17:00
阅读次数:
121
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using extra space? 思路:快慢指针,设置一个走两步的快指针,和一个走一步的慢指针,如果有环,则它们一 ...
分类:
其他好文 时间:
2017-11-01 14:59:50
阅读次数:
176
141. Linked List Cycle Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time and O(1) space? 快慢指针 ...
分类:
其他好文 时间:
2017-10-24 20:49:28
阅读次数:
141
一、题目 一个链表中包含环,请找出该链表的环的入口结点。 二、思路 假设x为环前面的路程(黑色路程),a为环入口到相遇点的路程(蓝色路程,假设顺时针走), c为环的长度(蓝色+橙色路程)。 定义一个快指针:Sslow=slow.next,一个慢指针:Sfast=fast.next 当快慢指针相遇的时 ...
分类:
其他好文 时间:
2017-10-20 16:51:13
阅读次数:
250
使用快慢指针,如果有环快慢指针一定会相遇 class Solution {public: bool hasCycle(ListNode *head) { ListNode *fast, *slow; fast = slow = head; while(slow && fast) { slow = s ...
分类:
其他好文 时间:
2017-10-13 22:29:58
阅读次数:
89
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using extra space? 带环链表的检测,使用快慢指针判断,快指针每次走两步,慢指针每次走一步,如果快慢指 ...
分类:
其他好文 时间:
2017-10-07 14:28:59
阅读次数:
202
//最快的方式查找一个链表中的最中间节点#include #define SIZE 100000 typedef struct Node{ int data; struct Node* next; struct Node* prev; }Node; Node f[SIZE]; int index =... ...
分类:
其他好文 时间:
2017-09-09 00:44:48
阅读次数:
215