zoukankan      html  css  js  c++  java
  • 链表中环的入口结点——牛客剑指offer

    题目描述:

    给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

    题目分析:

    从上图中可以看出,环的入口结点和其他结点的区别:环的入口结点是有两个指针指向的,其他结点除了头结点都是只有一个指针指向的,

    使用断链法,在当前结点访问完毕后,断掉指向当前结点的指针。因此,最后一个被访问的结点一定是入口结点。

    代码实现:

     1 /*
     2 public class ListNode {
     3    int val;
     4    ListNode next = null;
     5 
     6    ListNode(int val) {
     7        this.val = val;
     8    }
     9 }
    10 */
    11 public class circle {
    12     public ListNode EntryNodeOfLoop(ListNode pHead)
    13     {
    14         ListNode newHead=pHead;
    15         ListNode preNode=newHead;
    16         ListNode walkNode=newHead.next;
    17         if (preNode == null || preNode.next == null){
    18            return null;
    19         }
    20         while(walkNode!=null){
    21             preNode.next=null;
    22             preNode=walkNode;
    23             walkNode=walkNode.next;
    24         }
    25         System.out.println(pHead.next);
    26         System.out.println(preNode);
    27         return preNode;
    28     }
    29 }
  • 相关阅读:
    第一阶段冲刺第三天
    第一阶段冲刺第二天
    第一阶段冲刺第一天
    典型用户和场景
    第十周学习进度条
    第九周学习进度条
    会议视频
    课堂练习……找水王
    小组项目需求——NABCD
    第二阶段个人总结三
  • 原文地址:https://www.cnblogs.com/darlinFly/p/9335380.html
Copyright © 2011-2022 走看看