實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)
刪除鏈表中重復(fù)的結(jié)點(diǎn):定義兩個指針pe和cue兩個指針同時往后移動,cue指針如果與后一個結(jié)點(diǎn)值相同,就獨(dú)自往前走直到?jīng)]有相等的pe指針ex直接指向cue指針的后一個,把相同的都跳過pe=likLi......
以下是【金聰采編】分享的內(nèi)容全文:
以下是【金聰采編】分享的內(nèi)容全文:
刪除鏈表中重復(fù)的結(jié)點(diǎn):
定義兩個指針pre和current
兩個指針同時往后移動,current指針如果與后一個結(jié)點(diǎn)值相同,就獨(dú)自往前走直到?jīng)]有相等的
pre指針next直接指向current指針的后一個,把相同的都跳過
pre=linkListcurrent=linkListwhile current!=null if current->data==current->next->data value=current->data while value==current->next->data current=current->next pre->next=current->next pre=pre->next current=current->nextreturn linkList
<?phpclass Node{ public $data; public $next; public function __construct($data=""){ $this->data=$data; } }//構(gòu)造一個帶重復(fù)的鏈表$linkList=new Node();$linkList->next=null;$temp=$linkList;$node1=new Node(2);$temp->next=$node1;$temp=$node1;$node2=new Node(2);$temp->next=$node2;$temp=$node2;$node3=new Node(3);$temp->next=$node3;$temp=$node3;$node4=new Node(3);$temp->next=$node4;$temp=$node4;$node5=new Node(4);$temp->next=$node5;$node5->next=null;function deleteDuplication($pHead){ $pre=$pHead->next;//當(dāng)前都指向第一個結(jié)點(diǎn) $current=$pHead->next;//當(dāng)前結(jié)點(diǎn)是第一個結(jié)點(diǎn) while($current!=null){ //如果當(dāng)前結(jié)點(diǎn)值和當(dāng)前結(jié)點(diǎn)的下一個結(jié)點(diǎn)值相同 if($current->next!=null && $current->data==$current->next->data){ //保存當(dāng)前結(jié)點(diǎn)值 $val=$current->data; //當(dāng)前結(jié)點(diǎn)往后移直到和下一個結(jié)點(diǎn)值不相等 while($current->next!=null && $val==$current->next->data){ $current=$current->next; } //前一個指針next直接指向當(dāng)前結(jié)點(diǎn)的next $pre->next=$current->next; } //兩個指針同時后移 $pre=$pre->next; $current=$current->next; } return $pHead;}var_dump($linkList);$result=deleteDuplication($linkList);var_dump($result);object(Node)#1 (2) { ["data"]=> string(0) "" ["next"]=> object(Node)#2 (2) { ["data"]=> int(2) ["next"]=> object(Node)#3 (2) { ["data"]=> int(2) ["next"]=> object(Node)#4 (2) { ["data"]=> int(3) ["next"]=> object(Node)#5 (2) { ["data"]=> int(3) ["next"]=> object(Node)#6 (2) { ["data"]=> int(4) ["next"]=> NULL } } } } }}object(Node)#1 (2) { ["data"]=> string(0) "" ["next"]=> object(Node)#2 (2) { ["data"]=> int(2) ["next"]=> object(Node)#4 (2) { ["data"]=> int(3) ["next"]=> object(Node)#6 (2) { ["data"]=> int(4) ["next"]=> NULL } } }}以上就是實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)的全部內(nèi)容和代碼,感謝大家對金聰精品的支持。
金聰線報提示:[ 實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn) ] 僅為會員分享,分享目的如下:
1.軟件源碼推廣展示:目的展示軟件相關(guān)功能,接收技術(shù)學(xué)習(xí)者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內(nèi)容;
3.設(shè)計素材圖片展示:展示素材設(shè)計理念、思維方式、傳播設(shè)計理念;
4.福利優(yōu)惠信息展示:分享各類最新的福利信息,各種優(yōu)惠信息展示;
以上分享目的僅供學(xué)習(xí)、參考使用,請勿用于其他用途,如果想商業(yè)使用或者代理,請自行聯(lián)系版權(quán)方獲取授權(quán)。任何未獲取授權(quán)的商業(yè)使用與本站無關(guān),請自行承擔(dān)相應(yīng)責(zé)任。
本站不存儲任何資源文件,敬請周知!
本網(wǎng)站采用 BY-NC-SA 協(xié)議進(jìn)行授權(quán) 轉(zhuǎn)載請注明原文鏈接:實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)
1.軟件源碼推廣展示:目的展示軟件相關(guān)功能,接收技術(shù)學(xué)習(xí)者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內(nèi)容;
3.設(shè)計素材圖片展示:展示素材設(shè)計理念、思維方式、傳播設(shè)計理念;
4.福利優(yōu)惠信息展示:分享各類最新的福利信息,各種優(yōu)惠信息展示;
以上分享目的僅供學(xué)習(xí)、參考使用,請勿用于其他用途,如果想商業(yè)使用或者代理,請自行聯(lián)系版權(quán)方獲取授權(quán)。任何未獲取授權(quán)的商業(yè)使用與本站無關(guān),請自行承擔(dān)相應(yīng)責(zé)任。
本站不存儲任何資源文件,敬請周知!
此資源僅供個人學(xué)習(xí)、研究使用,禁止非法轉(zhuǎn)播或商業(yè)用途,請在獲取后24小時內(nèi)刪除,如果你覺得滿意,請尋求購買正版或獲取授權(quán)!
如果您認(rèn)為本頁信息內(nèi)容侵犯了您的相關(guān)權(quán)益(包含但不限于:著作權(quán)、首發(fā)權(quán)、隱私權(quán)等權(quán)利),或者您認(rèn)為自己是此信息的權(quán)利人但是此信息不是自己發(fā)布的,可以直接版權(quán)舉報投訴,我們會根據(jù)網(wǎng)站注冊協(xié)議、資源分享協(xié)議等協(xié)議處理,以保護(hù)您的合法權(quán)益。
免責(zé)申明:本站僅提供學(xué)習(xí)的平臺,所有資料均來自于網(wǎng)絡(luò)分享線索,版權(quán)歸原創(chuàng)者所有!本站不提供任何保證,并不承擔(dān)任何法律責(zé)任,如果對您的版權(quán)或者利益造成損害,請?zhí)峁┫鄳?yīng)的資質(zhì)證明,我們將于3個工作日內(nèi)予以處理。版權(quán)申訴相關(guān)說明如果您認(rèn)為本頁信息內(nèi)容侵犯了您的相關(guān)權(quán)益(包含但不限于:著作權(quán)、首發(fā)權(quán)、隱私權(quán)等權(quán)利),或者您認(rèn)為自己是此信息的權(quán)利人但是此信息不是自己發(fā)布的,可以直接版權(quán)舉報投訴,我們會根據(jù)網(wǎng)站注冊協(xié)議、資源分享協(xié)議等協(xié)議處理,以保護(hù)您的合法權(quán)益。
本網(wǎng)站采用 BY-NC-SA 協(xié)議進(jìn)行授權(quán) 轉(zhuǎn)載請注明原文鏈接:實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)

侵權(quán)舉報/版權(quán)申訴


