题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
class Solution//利用栈的先进后出,先将数据压入栈中,然后出栈,将数据存入数组中,返回数组值,打印出来的顺序就是尾到头
{
public:
vector<int> PrintList(ListNode* head)
{
vector<int> ret;
stack<int> arr;
ListNode* p = head;
while(p!=nullptr)
{
arr.push(p->val);//入栈
p = p->next;
}
int len = arr.size();
for(int i = 0;i < len;i++)
{
ret.push_back(arr.top());//出栈,并将数据存到数组中
arr.pop();
}
return ret;
}
};