算法打卡Day8

算法打卡Day8,第1张

想象中的自由快乐,从来都有它的边界与代价。老子曰:“有之以为利,无之以为用”,兴趣之所以吸引人,正是它远离功利动机的“无用”之用,让人可以自由自在,沉浸在心流之中。而一旦兴趣成为任务,我们总会为了具体的目标而奔走。要是再作为一项工作,各种辅助性、支撑性的事情也会接踵而至。

Leetcode原题

141.环形链表

思路

采用快慢双指针fast和slow. 快指针fast每次走2下,慢指针一次走一下。如果存在环形,那么总会有机会快指针会追上慢指针,两个在一个节点处相遇。

    //采用快慢双指针
    public boolean hasCycle(ListNode head) {
        if (head == null) {
            return false;
        }
        ListNode fast = head;//快指针,每次走2步
        ListNode slow = head;//慢指针,每次走1步


        while (fast.next != null && fast.next.next != null) {
            fast = fast.next.next;
            slow = slow.next;
            //当快指针赶上慢指针,两指针有重叠时,说明是个环形链表
            if (slow == fast)
                return true;
        }
        return false;
    }

有兴趣的老爷,还可以关注我的公众号【一起收破烂】,回复【006】获取 最新java面试资料以及简历模型120套哦~

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/732812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存