Linked List Cycle

来源:互联网 发布:工商网络监管工作总结 编辑:程序博客网 时间:2024/04/29 03:24

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?


思路: 一个fast 一个slow指针跑,能meet说明有cycle,遇到null证明没有。

注意,一切都要以fast 为判断准则,因为跑得快。


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


0 0
原创粉丝点击