zoukankan      html  css  js  c++  java
  • 55、剑指offer--链表中环的入口结点

    题目描述
    一个链表中包含环,请找出该链表的环的入口结点。
     
    解题思路:先通过快慢指针,找到环中结点,以确定环中结点个数,然后两个指针,一个先走环中结点个数步,然后两个指针一起走,直到相遇得为入口节点
     1 /*
     2 struct ListNode {
     3     int val;
     4     struct ListNode *next;
     5     ListNode(int x) :
     6         val(x), next(NULL) {
     7     }
     8 };
     9 */
    10 class Solution {
    11 public:
    12     //通过快慢指针找到在环中的相遇点
    13     ListNode* MeetingNode(ListNode *pHead)
    14     {
    15         //找到在环中的结点--快慢指针
    16         if(pHead == NULL)
    17             return NULL;
    18         ListNode *slow = pHead;
    19         ListNode *fast = pHead;
    20         while(fast != NULL && fast->next != NULL)
    21         {
    22             slow = slow->next;
    23             fast = fast->next->next;
    24             if(fast == slow)//注意此处先移动,再判断
    25                 return fast;
    26         }
    27         return NULL;
    28     }
    29     ListNode* EntryNodeOfLoop(ListNode* pHead)
    30     {
    31         ListNode *meetNode = MeetingNode(pHead);
    32         if(meetNode == NULL)
    33             return NULL;
    34         int nodesInLoop = 1;
    35         ListNode *pNode1 = meetNode;
    36         while(pNode1->next != meetNode)
    37         {
    38             pNode1 = pNode1->next;
    39             nodesInLoop++;
    40         }
    41         pNode1 = pHead;
    42         for(int i=0;i<nodesInLoop;i++)
    43         {
    44             pNode1 = pNode1->next;    
    45         }
    46         ListNode *pNode2 = pHead;
    47         while(pNode1 != pNode2)
    48         {
    49             pNode1 = pNode1->next;
    50             pNode2 = pNode2->next;    
    51         }
    52         return pNode1;
    53     }
    54 };
  • 相关阅读:
    鹰牌陶瓷签约亿客CRM系统 建材行业进入CRM时代
    CRM成为大数据落地的关键
    客户流失了怎么办?
    亿客CRM研发公司简介
    CRM销售管理软件让销售管理成为企业的助力
    CRM帮助企业的营销管理
    浅析移动CRM的客户价值细分
    CRM规划和执行战略
    信息化的先锋CRM
    SaaS的应用将弱化大小企业间竞争差距
  • 原文地址:https://www.cnblogs.com/qqky/p/7113015.html
Copyright © 2011-2022 走看看