从尾到头打印链表
题目描述:
输入一个链表,按链表从尾到头的顺序返回一个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 };