输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
0 <= 链表长度 <= 10000
这里要费时一点的就是怎么从尾到头的返回,最常用的方法就是遍历一遍存入一个数组,再倒着遍历回去存入一个新数组,然后返回这个新数组。
我这里用的是官方给出的栈思想,利用array_unshift从数组的头部插入,这样就相当于尾部放在数组的最前面了
贴出代码:
class Solution {
/**
* @param ListNode $head
* @return Integer[]
*/
function reversePrint($head) {
$stack = [];
while ($head != null) {
array_unshift($stack, $head->val);
$head = $head->next;
}
return $stack;
}
}