输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解法:根据题目要求,我们可以想到栈的特性符合题目要求!
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
std::stack <ListNode*> nodes;
ListNode* pNode = head;
int count = 0;
vector <int> result;
int temp;
while (pNode != nullptr)
{
nodes.push(pNode);
pNode = pNode->next;
}
while (!nodes.empty())
{
temp = nodes.top()->val;
result.push_back(temp);
nodes.pop();
}
return result;
}
};