1739: 返回链表中间节点的位置

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:9 Solved:5

Description

给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 比如1 2 3 4 5 6,中级节点数据位3 4,有两个,取后面一个,也就是4 思路: 我们使用快慢指针的办法,快指针fast走两步,慢指针slow走一步,这样当fast走完了,slow指针就走到了中间的位置,但是我们要注意,如果链表节点为奇数个则当fast为NULL就应该结束循环,如果链表节点为偶数个则当fast->next为NULL则结束循环!思路解析,代码实现如下:

Input

输入两行 第一行为N个节点 第二行为节点的数据

Output

输出一行,中级节点的数据

Sample Input Copy

6
1 2 3 4 5 6

Sample Output Copy

4