国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP實現找出鏈表中環的入口節點

2024-05-05 00:01:58
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現找出鏈表中環的入口節點。分享給大家供大家參考,具體如下:

問題

一個鏈表中包含環,請找出該鏈表的環的入口結點。

解決思路

第一步,找環中相匯點。分別用p1,p2指向鏈表頭部,p1每次走一步,p2每次走二步,直到p1==p2找到在環中的相匯點。
第二步,找環的入口。接上步,當p1==p2時,p2所經過節點數為2x,p1所經過節點數為x,設環中有n個節點,p2比p1多走一圈有2x=n+x; n=x;可以看出p1實際走了一個環的步數,再讓p2指向鏈表頭部,p1位置不變,p1,p2每次走一步直到p1==p2; 此時p1指向環的入口。(還沒怎么懂)

實現代碼

<?php/*class ListNode{  var $val;  var $next = NULL;  function __construct($x){    $this->val = $x;  }}*/function EntryNodeOfLoop($pHead){  if($pHead == null || $pHead->next == null)    return null;  $p1 = $pHead;  $p2 = $pHead;  while($p2!=null && $p2->next!=null){    $p1 = $p1->next;    $p2 = $p2->next->next;    if($p1 == $p2){      $p2 = $pHead;      while($p1!=$p2){        $p1 = $p1->next;        $p2 = $p2->next;      }      if($p1 == $p2)        return $p1;    }  }  return null;}

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 新龙县| 万宁市| 河曲县| 旌德县| 始兴县| 青田县| 美姑县| 南溪县| 探索| 隆尧县| 信丰县| 高要市| 南充市| 长垣县| 河南省| 轮台县| 涿州市| 康平县| 兰考县| 页游| 石首市| 新源县| 武川县| 信丰县| 兖州市| 布拖县| 巴塘县| 璧山县| 盈江县| 青海省| 错那县| 聂拉木县| 竹北市| 鄂州市| 方山县| 灵石县| 平舆县| 石狮市| 邓州市| 兴安盟| 望奎县|