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