剑指offer--从尾到头打印链表
来源:互联网 发布:单片机最小系统仿真图 编辑:程序博客网 时间:2024/06/05 05:45
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
算法描述(非递归)
1.从头到尾遍历链表,将每个结点存入栈中
2.遍历输出栈(由于剑指offer给的返回值为vector<int>
,所以遍历栈的时候将元素在存入vector中)
代码
vector<int> printListFromTailToHead(ListNode* head) { vector<int> v; if(head == NULL) return v; stack<int> s; while(head){ s.push(head->val); head=head->next; } while(!s.empty()){ v.push_back(s.top()); s.pop(); } return v; }
算法描述(递归)
1.采用递归的方式,首先递归到尾结点,然后将结点值存入vector
2.利用递归退层回到上一个结点,再存入vector
3.注意vector要传引用,否则不同的函数栈帧中没有同一个vector
代码
void printListFromTailToHead(ListNode* head,vector<int>& v){ if(head == NULL) return ; printListFromTailToHead(head->next,v); v.push_back(head->val); } vector<int> printListFromTailToHead(ListNode* head) { vector<int> v; printListFromTailToHead(head,v); return v; }
阅读全文
0 0
- 剑指offer:5-从尾到头打印链表
- [剑指Offer]7.从尾到头打印链表
- 剑指offer:从尾到头打印链表
- 从尾到头打印链表--《剑指offer》
- 剑指Offer:从尾到头打印链表
- 【剑指offer】从尾到头打印链表
- 【剑指offer】Q5:从尾到头打印链表
- 剑指Offer之从尾到头打印链表
- 剑指offer系列源码-从尾到头打印链表
- 剑指offer 05: 从尾到头打印链表
- 剑指offer--从尾到头打印链表
- 剑指offer-5 从尾到头打印链表
- 剑指Offer之 - 从尾到头打印链表
- 剑指offer 5 -从尾到头打印链表
- 剑指offer: 从尾到头打印链表(链表)
- 《剑指Offer》面试题:从尾到头打印链表
- 剑指offer:从尾到头打印链表
- 剑指offer:从尾到头打印链表代码实现
- android Studio配置
- kafka消费者监听数据原理
- 判断设备访问类型是PC端还是WAP端
- 在非递减的有序单链表中插入一个值为x的数据元素,并使单链表仍保持有序的操作
- Linux系统下Nginx的安装和配置
- 剑指offer--从尾到头打印链表
- Mybatis之Mapper动态代理
- PHP 常用的header头部定义汇总
- java中的不可变类
- java 编写 #1051 : 补提交卡
- Android系统7.0以上遇到exposed beyond app through ClipData.Item.getUri
- 欢迎使用CSDN-markdown编辑器
- Jmeter参数化、断言、集合点
- MySQL中alter的用法