如何在未知链表中找到一个中间节点

来源:互联网 发布:淘宝主图视频内存大小 编辑:程序博客网 时间:2024/06/18 00:03

两个头指针,一个移动的快,一个移动的慢,当一个到达末尾时,另一个到达中间,代码如下:

struct Node{int value;struct Node *next;};
typedef struct Node ListNode;int search(ListNode *head){if(head == NULL)return;ListNode *fast = head;ListNode *low = head;while(fast->next != NULL){if(fast->next->next == NULL){fast=fast->next->next;low = low->next}else{fast = fast->next;low = low->next;}}return low->value;}


0 0