从尾到头打印链表

  • 题目描述:

输入一个链表,从尾到头打印链表每个节点的值。

  • 解题思路:

利用递归方式求解比较简单,从链表头结点开始一层层地向下一结点进行递归,到达尾结点时递归结束,在“返回”的过程中依次将结点值打印输出。

  • 源代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> value;
vector<int> printListFromTailToHead(ListNode* head) {
if (head != NULL) {
if (head->next != NULL) {
printListFromTailToHead(head->next);
}
value.push_back(head->val); //递归本质:“返”的过程中依次从尾到头打印结点值
}
return value;
}
};
-------------The End-------------