题目描述:
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
思路:利用的先进后出栈
代码实现:
vector<int> printListFromTailToHead(struct ListNode* head)
{
stack<int> s1;//利用栈
struct ListNode* p=head;
while(p!=NULL)//先从前往后入栈
{
s1.push(p->val);
p=p->next;
}
vector<int> v;
while(!s1.empty())//按出栈顺序存入数组v
{
v.push_back(s1.top());
s1.pop();
}
return v;
}