【LeetCode】#142环形链表II(Linked List Cycle II)
【LeetCode】#142环形链表II(Linked List Cycle II)
题目描述
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。
说明:不允许修改给定的链表。
示例
示例 1:
输入:head = [3,2,0,-4], pos = 1
输出:tail connects to node index 1
解释:链表中有一个环,其尾部连接到第二个节点。
示例 2:
输入:head = [1,2], pos = 0
输出:tail connects to node index 0
解释:链表中有一个环,其尾部连接到第一个节点。
示例 3:
输入:head = [1], pos = -1
输出:no cycle
解释:链表中没有环。
Description
Given a linked list, return the node where the cycle begins. If there is no cycle, return null.
To represent a cycle in the given linked list, we use an integer pos which represents the position (0-indexed) in the linked list where tail connects to. If pos is -1, then there is no cycle in the linked list.
Note: Do not modify the linked list.
Example
Example 1:
Input: head = [3,2,0,-4], pos = 1
Output: tail connects to node index 1
Explanation: There is a cycle in the linked list, where tail connects to the second node.
Example 2:
Input: head = [1,2], pos = 0
Output: tail connects to node index 0
Explanation: There is a cycle in the linked list, where tail connects to the first node.
Example 3:
Input: head = [1], pos = -1
Output: no cycle
Explanation: There is no cycle in the linked list.
解法
public class Solution { public ListNode detectCycle(ListNode head) { ListNode fast = head; ListNode slow = head; int flag = 0; while(fast!=null && fast.next!=null){ slow = slow.next; fast = fast.next.next; if(slow==fast){ flag = 1; break; } } if(flag==0){ return null; } ListNode node = head; while(slow!=node){ slow = slow.next; node = node.next; } return node; } }阅读更多
- 【LeetCode题解】142_环形链表2(Linked-List-Cycle-II)
- 【leetcode】【单链表】【142】Linked List Cycle II
- Leetcode 141/142 (链表题) Linked List Cycle && Linked List Cycle II
- leetcode_c++:链表:Linked List Cycle II(142)
- 【leetcode】【单链表】【142】Linked List Cycle II
- leetcode_c++:链表:Linked List Cycle II(142)
- 链表-leetcode 142 Linked List Cycle II
- [Leetcode-142] Linked List Cycle II(链表有环详细分析)
- 【LeetCode-面试算法经典-Java实现】【142-Linked List Cycle II(单链表中有环II)】
- [LeetCode] Linked List Cycle II 单链表中的环之二
- Leetcode#142 Linked List Cycle II
- Leetcode 链表 Linked List Cycle II
- LeetCode142 Linked List Cycle II
- [leetcode142]Linked List Cycle II
- LeetCode 142 Linked List Cycle II
- LeetCode142:Linked List Cycle II
- leetcode_142_Linked List Cycle II
- Leetcode 142 Linked List Cycle II
- 【LEETCODE】142-Linked List Cycle II
- LeetCode(141)(142) Linked List Cycle I II