博客
关于我
剑指 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/

你可能感兴趣的文章
python基础变量之---集合
查看>>
python基础变量之---字典
查看>>
python基础变量之---列表
查看>>
python基础变量之---元组
查看>>
python基础内容_Python基础入门必须了解的
查看>>
Python基础之面向对象2(封装)
查看>>
Python基础之给函数增加元信息
查看>>
python基础之字符编码
查看>>
python基础之多线程与多进程(二)
查看>>
Python基础之基本数据类型一《数字与字符串》
查看>>
python基础之变量---总纲
查看>>
Python基础之列表
查看>>
Python基础之Python环境搭建
查看>>
python基础之--面相对象--OOP基本特性
查看>>
python基础之--迭代器和生成器及异常处理
查看>>
python基础之--包和模块
查看>>
python基础之---面向对象--属性和方法
查看>>
python基础之---运算符
查看>>
python基础之---语句
查看>>
python基础之---正则表达式
查看>>