Q5:从尾到头打印链表
来源:互联网 发布:黑魂3 黑暗剑数据 编辑:程序博客网 时间:2024/06/06 19:23
importjava.util.Stack;
public class Q5 {
/**
* 题目:从尾到头打印链表
* 题目说明:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
* 解题思路:要想从尾到头打印链表,方法一:使用递归来实现;方法二:采用堆栈实现。在本质上递归就是一个栈结构。
*/
public static void main(String[] args) {
// TODOAuto-generated method stub
ListNode node1=new ListNode();
ListNode node2=new ListNode();
ListNode node3=new ListNode();
node1.data=1;
node2.data=2;
node3.data=3;
node1.next=node2;
node2.next=node3;
Q5 test=new Q5();
test.printListReverse1(node1);
test.printListReverse2(node1);
}
//采用栈结构实现反向打印链表
public static void printListReverse1(ListNode headNode){
Stack<ListNode> stack=new Stack<ListNode>();
//循环将链表元素压入栈中
while(headNode!=null){
stack.push(headNode);
headNode=headNode.next;
}
//只要栈不为空则将其打印输出栈顶data的值
while(!stack.isEmpty()){
System.out.println(stack.pop().data);
}
}
//采用递归方式实现反向打印链表
public static void printListReverse2(ListNode headNode){
if(headNode!=null){
//只要链表结点的的next不为空则递归执行
if(headNode.next!=null){
printListReverse2(headNode.next);
}
}
System.out.println(headNode.data);
}
}
- Q5:从尾到头打印链表
- 【剑指offer】Q5:从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- Offer5 从尾到头打印链表
- 从尾到头打印链表
- MapReduce 中的两表 join 几种方案简介
- 脑残设计--想哪写哪
- 三层代码结构
- git支持大小写吗?
- 教你如何在树莓派上使用usb摄像头!!!
- Q5:从尾到头打印链表
- fis3学习一
- uva 1587 Box
- 阴影去除算法
- Java Web 获取项目路径
- linux netstat 统计连接数查看外部
- webService基础
- ZF_20160702_Region2013长春
- Codeforces Round #359 (Div. 2)D. Kay and Snowflake【树的重心】