给定一个链表,编写函数返回链表的中间点

2017-01-07 08:39:06来源:CSDN作者:qq_34485658人点击

第七城市

题目:给定一个链表,编写一个函数返回该链表的中间点

分析:在链表的处理过程中,使用两个链表指针,可达到很好的处理效果。例如在本题中,使用两个链表指针runner和chaser,其中runner一次行走两步,chaser一次前进一步,当runner到链表尾部时,chaser正好到链表的中间

参考答案:(没有写主函数)

#include "stdafx.h"
#include<iostream>


using namespace std;


struct ListNode
{
int val;
ListNode *next;
};


ListNode *midpoint(ListNode *head)
{
ListNode *runner=head,*chaser=head;
if(head==NULL) return NULL;
while(runner->next&&runner->next->next)
{
chaser=chaser->next;
runner=runner->next->next;
}
return chaser;
}



第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台