题目
输入一个链表,从尾到头打印链表每个节点的值。
输入描述:
输入为链表的表头
输出描述:
输出为需要打印的“新链表”的表头
链接
答案
典型的递归,先进后出,用循环也可以实现,将vector当做栈
代码:
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(struct ListNode* head) { 13 vector<int> result; 14 addValToVec(head,result); 15 16 return result; 17 } 18 19 void addValToVec(struct ListNode *node,vector<int> &vec){ 20 if(node == NULL){ 21 return; 22 } 23 24 addValToVec(node->next,vec); 25 vec.push_back(node->val); 26 } 27 };
浙公网安备 33010602011771号