#P3865. 环形链表 II
环形链表 II
环形链表 II
题目描述
给定一个链表,请判断链表中是否存在环。如果存在,输出环开始的第一个节点在原链表中的下标;如果不存在,输出 -1。
本题使用整数 pos 表示链表尾部连接到链表中的位置(下标从 0 开始):
- 如果
pos = -1,表示链表中没有环; - 否则表示链表尾节点的
next指向下标为pos的节点。
你需要根据给定的链表和 pos,求出环开始的第一个节点的下标。
输入格式
第一行输入两个整数 n 和 pos,分别表示链表长度以及尾节点连接的位置。
第二行输入 n 个整数,表示链表节点值。
输出格式
输出一个整数:
- 若存在环,输出环开始节点的下标;
- 若不存在环,输出
-1。
数据范围
1 <= n <= 10^5
-10^9 <= val <= 10^9
-1 <= pos < n
样例 1
输入
4 1
3 2 0 -4
输出
1
样例 2
输入
2 0
1 2
输出
0