力扣刷题记录 -- JAVA--26---142. 环形链表 II

目录

  • 一、题目
  • 二、代码
  • 三、运行结果


一、题目

力扣刷题记录 -- JAVA--26---142. 环形链表 II_第1张图片

力扣刷题记录 -- JAVA--26---142. 环形链表 II_第2张图片

二、代码

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution 
{
    public ListNode detectCycle(ListNode head) 
    {
        ListNode fast = head;
        ListNode slow = head;
        
        while(fast!=null)
        {
            fast = fast.next;
            if(fast!=null)
            {
                fast = fast.next;
                slow = slow.next;

                if(fast == slow)
                {
                    ListNode before = head;
                    ListNode now = fast;
                    while(before!=now)
                    {
                        before = before.next;
                        now = now.next;
                    }
                    return now;
                }
            }
        }



        return null;

    }
}

三、运行结果

力扣刷题记录 -- JAVA--26---142. 环形链表 II_第3张图片

你可能感兴趣的:(#,leetcode,java,链表)