1. 程式人生 > >【LeetCode & 劍指offer刷題】鏈表題2:6 從尾到頭打印鏈表

【LeetCode & 劍指offer刷題】鏈表題2:6 從尾到頭打印鏈表

The ali null cin tps hit pub tails ptr

【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...)

6 從尾到頭打印鏈表

題目描述

輸入一個鏈表,從尾到頭打印鏈表每個節點的值 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ //方法:利用棧的後進先出特性 //如果可以改變鏈表結構,則可以先反轉鏈表指針,在遍歷輸出即可,可以不用輔助空間 class Solution
{ public: vector<int> printListFromTailToHead(ListNode* head) { stack<ListNode*> nodes; ListNode* p = head; while(p != nullptr) { nodes.push(p); p = p->next; } vector<int> result;
while(!nodes.empty()) { p = nodes.top(); result.push_back(p->val); nodes.pop(); } return result; } };

【LeetCode & 劍指offer刷題】鏈表題2:6 從尾到頭打印鏈表