题目描述
输入一个链表,从尾到头打印链表每个节点的值。
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {}
};
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
stack<ListNode*> stk;
vector<int> vec;
ListNode*p=head;
while(p!=nullptr)
{
stk.push(p);
p=p->next;
}
while(!stk.empty())
{
p=stk.top();//返回栈顶元素
vec.push_back(p->val);
stk.pop();
}
return vec;
}
};