题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解法一:时间复杂度O(n),空间复杂度O(n)
class Solution {public: vector printListFromTailToHead(ListNode* head) { /*思路:遍历结点将结点值放入栈中,再将栈中的数据一次弹出放入vector容器*/ vector ret; //验证输入 if (head == nullptr) return ret; //遍历链表并将结点值放入栈中 ListNode *pWorkNode = head; stack temp; while (pWorkNode != nullptr) { temp.push(pWorkNode->val); pWorkNode = pWorkNode->next; } //将栈中数据依次弹出并放入vector容器中 int value; while (!temp.empty()) { value = temp.top(); temp.pop(); ret.push_back(value); } return ret; }};