1. 程式人生 > >【LeetCode & 劍指offer刷題】連結串列題2:6 從尾到頭列印連結串列

【LeetCode & 劍指offer刷題】連結串列題2:6 從尾到頭列印連結串列

【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 ;     } };