Java 剑指offer 面试题6:从尾到头打印链表

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/weixin_43014205/article/details/85680839

定义链表

class ListNode{
 //定义节点
    int data;
    ListNode next;
}

 将链表先入栈,再出栈

import java.util.Stack;
public class demo {
    public void printReverse(ListNode listNode) {
        Stack<ListNode> stack = new Stack<>();
        while (listNode != null){
            stack.push(listNode);
            listNode=listNode.next;
        }
        while(!stack.empty()){
            System.out.print(stack.pop().data);
        }
    }
}

测试类: 

public class test1 {
    public static void main(String[] args) {
        ListNode node1 = new ListNode();
        ListNode node2 = new ListNode();
        ListNode node3 = new ListNode();
        ListNode node4 = new ListNode();
        ListNode node5 = new ListNode();
        node1.data = 1;
        node2.data = 2;
        node3.data = 3;
        node4.data = 4;
        node5.data = 5;
        node1.next = node2;
        node2.next = node3;
        node3.next = node4;
        node4.next = node5;
        demo demo = new demo();
        demo.printReverse(node1);
    }
}

//54321

猜你喜欢

转载自blog.csdn.net/weixin_43014205/article/details/85680839
今日推荐