本篇文章給大家分享的是有關(guān)利用PHP怎么對鏈表進(jìn)行打印,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
題目
輸入一個(gè)鏈表,從尾到頭打印鏈表每個(gè)節(jié)點(diǎn)的值。
題解
一種是使用棧。
第二種是遞歸。
代碼
//遞歸版本 function printListFromTailToHead($head) { if($head == NULL){ return []; } $arr = array(); $cur = $head; if($cur->next != null){ $arr = printListFromTailToHead($cur->next); } array_push($arr, $cur->val); return $arr; } //非遞歸版本 function printListFromTailToHead($head) { if($head == NULL){ return []; } $cur = $head; $arr = array(); $re = array(); while($cur != NULL){ array_push($arr, $cur->val); $cur = $cur ->next; } while(!empty($arr)){ $tmp = array_pop($arr); array_push($re, $tmp); } return $re; }