题目描述
输入一个链表,从尾到头打印链表每个节点的值。
算法分析
很简单的数据结构题,考虑到从头遍历,而且又从尾打印,如此和栈相似。直接模拟栈就好,这里使用的是递归模拟;
唯一坑的地方就是牛客网是拿类写的,不是很适应,CE了一万次。最终多加了一个vector用push_back把节点信息压进去return后过了
Code
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int>array;
if(head != NULL)
{
if(head->next!=NULL)
{
array = printListFromTailToHead(head->next);
}
array.push_back(head->val);
}
return array;
}
};