题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
stack<int> mStack;// 利用栈的先进后出的思想,从后打印链表
vector<int> mVec;
while(head != NULL){
mStack.push(head->val);
head = head->next;
}
while(!mStack.empty())
{
mVec.push_back(mStack.top());
mStack.pop();
}
return mVec;
/* 运用栈的数据结构合理
vector<int> varr;
if(head == NULL) return varr;
varr.insert(varr.begin(),head->val);
while(head->next != NULL){
head = head->next;
varr.insert(varr.begin(),head->val);
}
return varr;
*/
}
};