LeetCode — 237. Удалить узел (нерекурсивный) указатель скорости в связанном списке

Адрес: https://leetcode.cn/problems/linked-list-cycle/
вставьте сюда описание изображения
Идея решения этого вопроса в основном заключается в использовании быстрых и медленных указателей, быстрый указатель делает два шага за раз, а медленный указатель два шага за раз.

public class 环形链表_非递归 {
    
    
    class ListNode {
    
    
        int val;
        ListNode next;
        ListNode(int x) {
    
    
            val = x;
            next = null;
        }
        public boolean hasCycle(ListNode head) {
    
    
            if (head ==null || head.next==null) return false;
            ListNode slow = head;
            ListNode fast = head.next;
            //进行循环
            while (fast !=null && fast.next !=null){
    
    
                //如果快慢指针重合 那么结束循环,重合就代表有环
                if (slow == fast) return true;
                slow = slow.next;
                fast = fast.next.next;
            }
            return false;
        }
    }
}

Supongo que te gusta

Origin blog.csdn.net/m0_62491934/article/details/128739319
Recomendado
Clasificación