题目描述
输入一个链表,从尾到头打印链表每个节点的值。
借助一个栈实现算法如下:
vector<int> printListFromTailToHead(ListNode* head)
{
stack<int> tempStack; //用一个栈保存链表数据
vector<int>* retVec = new vector<int>();
if (head)
{
while (head)
{
tempStack.push(head->val);
head = head->next;
}
}
//元素顺序出栈存入vector中
while (!tempStack.empty())
{
retVec->push_back(tempStack.top());
tempStack.pop();
}
return *retVec;
}