5
要求
时间限制:1秒 空间限制:32768K
题目描述
输入一个链表,从尾到头打印链表每个节点的值
解题思路
链表必须要从头开始访问,如果需要将打印顺序颠倒,可以利用栈的特性。有时候方法就是这么简单 - -
如果想展示你的算法能力,可以写成递归–深度优先搜索
代码
/*
struct ListNode
{
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {}
};
*/
class Solution
{
public:
vector<int> printListFromTailToHead(ListNode* head)
{
vector<int> res;
stack<int> temp;
while(head != NULL)
{
temp.push(head->val);
head = head->next;
}
while(!temp.empty())
{
res.push_back(temp.top());
temp.pop();
}
return res;
}
};