算法题--从尾到头打印链表

本文最后更新于:2023年1月1日 下午

5 # 要求 时间限制:1秒 空间限制:32768K

题目描述

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

解题思路

链表必须要从头开始访问,如果需要将打印顺序颠倒,可以利用栈的特性。有时候方法就是这么简单 - -

如果想展示你的算法能力,可以写成递归--深度优先搜索

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
struct ListNode
{
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {}
};
*/
class Solution
{
public:
vector<int> printListFromTailToHead(ListNode* head)
{
vector<int> res;
stack<int> temp;

while(head != NULL)
{
temp.push(head->val);
head = head->next;
}

while(!temp.empty())
{
res.push_back(temp.top());
temp.pop();
}

return res;
}
};

算法题--从尾到头打印链表
https://roudersky.com/posts/4f46182d.html
作者
Rouder
发布于
2021年12月25日
许可协议