Problem4587--环形链表

4587: 环形链表

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给定一个链表,判断链表中是否有环。
为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 $0$ 开始)。 如果 pos 是 $-1$,则在该链表中没有环。

Input

共三行。
第一行,一个整数 $n$,表示链表的数据个数。
第二行,$n$ 个整数,每个整数之间用空格隔开,表示链表的每个数据。
第三行,两个整数 $head$ 和 $tail$。$head$ 表示链表的首数据,$tail$ 表示链表的尾数据。

Output

一行。
如果有环,输出环起始位置。
如果无环,输出 $-1$。

Sample 1 Input

4
3 2 0 -4
3 2

Sample 1 Output

1

HINT

【样例一数据说明】
输入:head=[3,2,0,-4],pos=1
输出:1
解释:链表中有一个环,期尾部链接到第二个节点。如下图所示。

【样例二数据说明】
输入:head=[1],pos=-1
输出:-1
解释:链表中没有环。如下图所示。

Source/Category

数据结构 2.1.链表