博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[剑指OFFER] 从尾到头打印链表
阅读量:7011 次
发布时间:2019-06-28

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

题目描述

输入一个链表,从尾到头打印链表每个节点的值。返回新链表的头结点。
 
 
方法一:用stack,或者最好vector.reverse
vector
printListFromTailToHead(struct ListNode* head) { stack
st; vector
rtn; while(head) { st.push(head->val); head= head->next; } while(!st.empty()) { int tmp = st.top(); st.pop(); rtn.push_back(tmp); } return rtn; }

 

方法二:递归在本质上就是一个栈结构,于是很自然地想到用递归来实现。要实现反过来输出链表,每访问到一个结点的时候,先递归输出它后面的结点,再输出该结点自身,这样链表的输出结构就反过来了。

vector
printListFromTailToHead1(struct ListNode* head) { vector
rtn; print(head, rtn); return rtn; } void print(ListNode* head, vector
&rtn) { if(head == NULL) return; print(head->next, rtn); rtn.push_back(head->val); }

 

 

 

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

你可能感兴趣的文章
js和Jquery获取选中select值和文本
查看>>
Linux系统排查1——内存篇
查看>>
Java实现注册邮箱激活验证
查看>>
数据库缓存
查看>>
mvc 数据验证金钱格式decimal格式验证
查看>>
常用的Web服务器
查看>>
UPW学习资料整理 .NET C# 转
查看>>
Oracle12c中新建用户
查看>>
分布式编译工具
查看>>
对我而言晦涩的递归
查看>>
React Native 从入门到原理
查看>>
iOS如何随意的穿插跳跃,push来pop去
查看>>
使用maven编译Java项目 http://www.tuicool.com/articles/YfIfIrq
查看>>
Strut2中的session和servlet中的session的区别
查看>>
自定义adapter实现listview双列显示
查看>>
MyBatis——实现关联表查询
查看>>
struts2的MVC模式
查看>>
cocos2d-x JS 复选按钮checkBox的单选与多选
查看>>
表格花式效果
查看>>
Thrift 基于zookeeper改造模式
查看>>