PHP从尾到头打印链表实例讲解
题目
输入一个链表,从尾到头打印链表每个节点的值。
题解
一种是使用栈。
第二种是递归。
代码
//递归版本
functionprintListFromTailToHead($head)
{
if($head==NULL){
return[];
}
$arr=array();
$cur=$head;
if($cur->next!=null){
$arr=printListFromTailToHead($cur->next);
}
array_push($arr,$cur->val);
return$arr;
}
//非递归版本
functionprintListFromTailToHead($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;
}