美文网首页
常见的面试算法题

常见的面试算法题

作者: 编程的猫 | 来源:发表于2021-09-27 11:51 被阅读0次

    判断链表是否有环

    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(fast == slow){
                    return true;
                }
            }
            return false;
        }
    }
    

    相关文章

      网友评论

          本文标题:常见的面试算法题

          本文链接:https://www.haomeiwen.com/subject/dvimbltx.html