从尾到头输出链表
来源:互联网 发布:入驻阿里云大厦的条件 编辑:程序博客网 时间:2024/05/22 06:21
声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。
何海涛日志:http://zhedahht.blog.163.com/blog/static/2541117420079237185699/
题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。
思路:方法一:递归输出。
方法二:维护一个栈,先全部进栈,再依次出栈输出。
方法三:先将链表反转,再从头到尾依次输出。
代码:
/** * 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。 * @author hongbin.gao * */public class PrintListReversely {public static void main(String[] args){Node head = new Node(1);Node p2 = new Node(2);Node p3 = new Node(3);Node p4 = new Node(4);Node p5 = new Node(5);Node p6 = new Node(6);head.next = p2;p2.next = p3;p3.next = p4;p4.next = p5;p5.next = p6;p6.next = null;printListReversely_3(head);}/** * 方法一:用递归实现 * @param head */public static void printListReversely_1(Node head){if(head == null) //链表为空直接返回return ;if(head.next == null){ //链表只有一个节点,则直接打印System.out.println(head.val);}else{printListReversely_1(head.next);System.out.println(head.val);}}/** * 方法二:通过维护一个栈来实现。 * @param head */public static void printListReversely_2(Node head){if(head == null)return ;if(head.next == null){System.out.println(head.val);}Stack<Node> stack = new Stack<Node>();while(head != null){stack.push(head);head = head.next;}while(!stack.isEmpty()){Node p = stack.pop();System.out.println(p.val);}}/** * 方法三:先将链表反转,再顺序输出。 * @param head */public static void printListReversely_3(Node head){if(head == null) //链表为空,直接返回return ; if(head.next == null){ //链表只包含一个节点, 直接数据即可System.out.println(head.val);}else{ //链表反转Node temp = null;Node pHead = head;head = head.next;pHead.next = null;while(head != null){temp = head;head = head.next;temp.next = pHead;pHead = temp;}while(pHead != null){ //反转完成后输出System.out.println(pHead.val);pHead = pHead.next;}}}}
0 0
- 从尾到头输出链表--总结
- 从尾到头输出链表
- 从尾到头输出链表
- 031-从尾到头输出链表
- 从尾到头输出链表--归纳
- 从尾到头输出链表
- 从尾到头输出链表
- 从尾到头输出链表
- 从尾到头输出链表--总结
- 从尾到头输出链表
- 从尾到头输出链表
- 从尾到头输出链表
- 从尾到头输出链表
- 从尾到头输出链表
- 从尾到头输出链表
- 三种方式实现--从尾到头输出链表
- 链表从尾到头输出及其扩展
- 四种方式实现--从尾到头输出链表
- Codeforces Round #367 (Div. 2) D Trie树
- Loader
- sigset_t
- Atitit.技术管理者要不要自己做开发??
- R代码调试
- 从尾到头输出链表
- tf-idf, CHI, TextRank
- Installing PostgreSQL 9.4 And phpPgAdmin In CentOS 7/6.5/6.4
- (日期)
- TCP的超时与重传
- FFT 入门
- 2016.08.12【初中部 NOIP提高组 】模拟赛C
- 五大步完成JBOSS 5 多数据库的多数据源配置
- Oracle只读权限(12c新特性)