1. 程式人生 > >劍指offer面試題5 從頭到尾列印連結串列(java)

劍指offer面試題5 從頭到尾列印連結串列(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 }