JZ6 从尾到头打印链表
描述
输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。
如输入{1,2,3}的链表如下图:
返回一个数组为[3,2,1]
0 <= 链表长度 <= 10000
示例1
输入:
{1,2,3} |
返回值:
[3,2,1] |
算法思路1
主要考察翻转数组的操作,把链表的数据放到数组里,然后在数组里操作,一个比较简单的操作是调用C++的库函数
class Solution { |
算法思路2
使用递归的方式解决,递归出口是链表循环到末尾,每次递归做的事就是把当前结点的值放到vector
容器中,由于递归到末尾才会开始存放结点(res.push_back(head->val);
)的值,时间顺序正好为从后往前的存放,符合题目要求的逆序
/** |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruvikm!