博客
关于我
剑指 Offer 06. 从尾到头打印链表 (简单)【栈】
阅读量:274 次
发布时间:2019-03-01

本文共 528 字,大约阅读时间需要 1 分钟。

题目:

给定一个单向链表,要求反转链表中的节点顺序,并将反转后的节点值依次输出。

代码解析:

```cpp class Solution { vector
reversePrint(ListNode* head) { stack
s; vector
ans; while (head != NULL) { s.push(head->val); head = head->next; } while (s.size()) { ans.push_back(s.top()); s.pop(); } return ans; } }; ```

解决思路:

1. 使用栈数据结构来辅助实现反转过程。 2. 遍历原始链表,将节点的值依次压入栈中。 3. 然后从栈顶依次弹出元素,将其添加到结果集合中。 4. 最后,返回反转后的节点值集合。

代码实现:

- 首先,定义一个栈`stack
`和一个结果集合`vector
ans`。 - 使用循环遍历链表,将每个节点的值压入栈中。 - 当链表遍历完成后,逐个弹出栈顶元素,将其添加到结果集合中。 - 最终,返回结果集合即可。

运行结果:

假设输入链表为:1 → 2 → 3 → 4 反转后结果为:4 → 3 → 2 → 1

转载地址:http://alao.baihongyu.com/

你可能感兴趣的文章
Qt笔记——官方文档全局定义(二)Functions函数
查看>>
POJ 3468 A Simple Problem with Integers
查看>>
poj 3468 A Simple Problem with Integers 降维线段树
查看>>
poj 3468 A Simple Problem with Integers(线段树 插线问线)
查看>>
poj 3485 区间选点
查看>>
poj 3518 Prime Gap
查看>>
poj 3539 Elevator——同余类bfs
查看>>
Qt笔记——官方文档全局定义(三)Macros宏
查看>>
poj 3628 Bookshelf 2
查看>>
Qt笔记——官方文档全局定义(一)Types数据类型
查看>>
POJ 3670 DP LIS?
查看>>
POJ 3683 Priest John's Busiest Day (算竞进阶习题)
查看>>
POJ 3988 Selecting courses
查看>>
POJ 4020 NEERC John's inversion 贪心+归并求逆序对
查看>>
poj 4044 Score Sequence(暴力)
查看>>
POJ 基础数据结构
查看>>
POJ 题目3020 Antenna Placement(二分图)
查看>>
Poj(1797) Dijkstra对松弛条件的变形
查看>>
SpringBoot为什么不需要xml配置文件?
查看>>
POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
查看>>