从尾到头打印链表

题目描述:

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
 
思路:链表逆序放入ArrayList。
 1 /**
 2 *  struct ListNode {
 3 *        int val;
 4 *        struct ListNode *next;
 5 *        ListNode(int x) :
 6 *              val(x), next(NULL) {
 7 *        }
 8 *  };
 9 */
10 class Solution {
11 public:
12     vector<int> printListFromTailToHead(ListNode* head) {
13         vector <int> ArrayList;
14         ListNode *pre=NULL,*cur=head,*tmp;
15         while(cur){
16             tmp=cur->next;
17             cur->next=pre;
18             pre=cur;
19             cur=tmp;
20         }
21         cur=pre;
22         while(cur){
23             ArrayList.push_back(cur->val);
24             cur=cur->next;
25         }
26         return ArrayList;
27     }
28 };
原文地址:https://www.cnblogs.com/shixinzei/p/12447291.html