从尾到头打印链表

题目描述

输入一个链表,从尾到头打印链表每个节点的值。

思路:有两种解决方法,第一种,采用栈的方式,遍历链表,并将链表依次入栈,然后再出栈打印;第二种,递归。

第一种方法栈

public void printListFromTailToHead(ListNode listNode) {
       Stack<Integer> stack=new Stack<Integer>();
       while(listNode!=null){
           stack.push(listNode.val);
           listNode=listNode.next;
       }
       while(!stack.isEmpty()){
           System.out.print(stack.pop()+" ");
       }

 }

第二种方法递归

public void printListFromTailToHead(ListNode listNode) {
    if(listNode.next!=null){
        print(listNode.next);
    }
    System.out.print(listNode.val+" ");
}
posted @ 2016-05-02 14:56  黄大仙爱编程  阅读(90)  评论(0编辑  收藏  举报