这篇文章给大家分享了关于PHP从尾到头打印链表的相关知识点内容,有需要的朋友们可以测试下。
题目
输入一个链表,从尾到头打印链表每个节点的值。
题解
一种是使用栈。
第二种是递归。
代码
//递归版本
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;
}
|