自学内容网 自学内容网

【java】链表:判断链表是否成环

问题:

分析:

这里我们还是定义快慢双指针 。

如果有环,快慢指针一定会相遇。

//        构建成环链表
        public void makeCircle(){
           Node node1=new Node(1);
           Node node2=new Node(2);
           Node node3=new Node(5);
           Node node4=new Node(6);
           Node node5=new Node(9);
           
           head=node1;
           node1.next=node2;
           node2.next=node3;
           node3.next=node4;
           node4.next=node5;
           node5.next=node3;
        }
//判断是否成环
        public boolean cirCle() {
            Node fast =head;
            Node slow=head;
            while((fast!=null)&&(fast.next!=null)) {
                fast=fast.next.next;
                slow=slow.next;
                if(fast==slow) {
                    return true;
                }
                
            }
            return false;
        }


原文地址:https://blog.csdn.net/m0_75163045/article/details/143840931

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!