一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP實現找出鏈表中環的入口節點

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

2019-10-25 12:51重口味AC PHP教程

這篇文章主要介紹了PHP實現找出鏈表中環的入口節點,涉及php針對環形鏈表的遍歷、查找、計算等相關操作技巧,需要的朋友可以參考下

本文實例講述了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指向環的入口。(還沒怎么懂)

實現代碼

  1. <?php 
  2. /*class ListNode{ 
  3.   var $val; 
  4.   var $next = NULL; 
  5.   function __construct($x){ 
  6.     $this->val = $x; 
  7.   } 
  8. }*/ 
  9. function EntryNodeOfLoop($pHead
  10.   if($pHead == null || $pHead->next == null) 
  11.     return null; 
  12.   $p1 = $pHead
  13.   $p2 = $pHead
  14.   while($p2!=null && $p2->next!=null){ 
  15.     $p1 = $p1->next; 
  16.     $p2 = $p2->next->next; 
  17.     if($p1 == $p2){ 
  18.       $p2 = $pHead
  19.       while($p1!=$p2){ 
  20.         $p1 = $p1->next; 
  21.         $p2 = $p2->next; 
  22.       } 
  23.       if($p1 == $p2
  24.         return $p1
  25.     } 
  26.   } 
  27.   return null; 

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 精品高潮呻吟99AV无码视频 | 日韩在线 在线播放 | 国产一卡二卡四卡免费 | 久久亚洲精品AV成人无 | 日韩成人一级 | 王淑兰李思雨李铁柱乡村小说免费 | v视界影院.vsjla | 四虎精品免费视频 | 91精品啪在线观看国产日本 | 国产激情视频 | pornohd老师18 | 美女女女女女女bbbbbb毛片 | 亚洲国产天堂 | 欧美va天堂va视频va在线 | 国产午夜精品福利久久 | 四虎国产视频 | 亚洲国产天堂久久综合网站 | 国产亚洲精品激情一区二区三区 | 色哟哟在线播放 | 无人影院免费观看 | 男人操女人视频 | 视频一区久久 | 国产精品一区二区三区免费 | 日本午夜小视频 | 亚洲一区二区精品视频 | 国产成人夜色影视视频 | 久久视频这有精品63在线国产 | 色综合亚洲天天综合网站 | 免费一级毛片在线播放放视频 | 日本在线播放视频 | 四虎在线精品免费高清在线 | 好 舒服 好 粗 好硬免费视频 | 99re这里只有精品在线观看 | 国产一级在线观看视频 | 亚洲精品中文字幕久久久久久 | 欧美日韩中文字幕久久伊人 | 久久精品人人做人人爽97 | 99视频都是精品热在线播放 | www.日本在线播放 | 女女宿舍互慰h文小说 |