輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList
阿新 • • 發佈:2018-12-16
思路:下面的解法主要是用了棧來儲存連結串列的值,利用棧後進先出的原則,把棧裡面的元素儲存到陣列中,實現從尾到頭輸出連結串列的值
/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> result; stack<int> arr; ListNode* p = head; while(p != NULL) { arr.push(p->val); p = p->next; } int len = arr.size(); for(int i = 0;i <len;i++) { result.push_back(arr.top()); arr.pop(); } return result; } };