Pro5 从头到尾打印链表(java)

注:(1)这里体现了java数据结构与C语言的不同之处

(2)栈的操作直接利用stack进行

 1 package com.xsf.SordForOffer;
 2 
 3 import java.util.Stack;
 4 
 5 
 6 /*
 7  *剑指offer
 8  *pro5 链表逆序输出 
 9  * */
10 
11 class ListNode{
12     //定义节点
13     int data;
14     ListNode next;
15 }
16 
17 //利用栈反向打印
18 class PrintListReverse{
19     //输入一个头结点然后利用栈操作完成逆序输出
20     public void print_reverse(ListNode listNode){
21         Stack<ListNode> stack = new Stack<ListNode>();
22         //将节点入栈
23         while(listNode!=null){
24             stack.push(listNode);
25             listNode = listNode.next;
26         }
27         //节点出栈
28         while(!stack.empty()){
29             System.out.println(stack.pop().data);
30         }
31     }
32 
33 }
34 public class Pro5LinklistReverse {
35     public static void main(String[] args) {
36         ListNode node1 = new ListNode();
37         ListNode node2 = new ListNode();
38         ListNode node3 = new ListNode();
39         node1.data = 1;
40         node2.data = 3;
41         node3.data = 5;
42         node1.next = node2;
43         node2.next = node3;
44         PrintListReverse test = new PrintListReverse();
45         test.print_reverse(node1);
46     }
47 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。