从尾到头打印链表
来源:互联网 发布:淘宝童装海报素材 编辑:程序博客网 时间:2024/05/21 12:44
题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。
由尾到头打印,那么考虑到是逆序打印,可以往栈或递归方面想。
在不能改变链表结构的时候,我们需要考虑用栈。
找到尾节点,最起码我们需要遍历一次链表,那么先遍历到的节点却是在后面打印,这满足一个“先进后出”或者“后进先出”的性质,这就是栈了。
所以考虑用栈来做这道题目即可
Link结构:
public class Link { int value; Link next; public Link(int v) { value =v; } public Link() { }}
public class FrontToRear05 { public void frontToRear(Link link){ Link current = link; Stack<Link> stacks = new Stack<Link>(); //如果链表为空 则返回 if(current==null){ System.out.println("Link is empty"); return ; } //压入栈,直到链表为空 while(current!=null){ stacks.push(current); current = current.next; } //出栈 直到栈为空 while(!stacks.isEmpty()){ System.out.println(stacks.pop().value+" ,"); } } public static void main(String[] args) { FrontToRear05 f = new FrontToRear05(); //exm1 Link ll = new Link(1); Link a = new Link(2); Link b =new Link(3); Link c = new Link(4); ll.next=a; a.next=b; b.next=c; f.frontToRear(ll); //exm2 Link dd =null; f.frontToRear(dd); }}
Result:
4 ,3 ,2 ,1 ,Link is empty
0 0
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- Offer5 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 讯飞语音合成问题
- 141. Linked List Cycle
- Ubuntu12.04 在右键快捷菜单中添加“Open in Terminal”
- 【C++】谈一谈this指针
- Mybatis简介与原理
- 从尾到头打印链表
- UVa OJ 1625 - Color Length
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-String对象
- Android开发架构规范
- 突破CND的一些方法
- 常用的实用工具jar包导入
- 分布式定时任务框架-Elastic Job
- DataCenter 数据中心
- 死锁