标签:
注:(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 }
标签:
原文地址:http://www.cnblogs.com/xsfelvis/p/4394678.html