从尾到头打印链表

来源:互联网 发布:python入门那本书好 编辑:程序博客网 时间:2024/06/03 13:42
输入一个链表,从尾到头打印链表每个节点的值。
/***    public class ListNode {*        int val;*        ListNode next = null;**        ListNode(int val) {*            this.val = val;*        }*    }**/import java.util.Stack;import java.util.ArrayList;public class Solution {    ArrayList<Integer> list = new ArrayList<Integer>();    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {   /*        方法一:遍历链表,将每个节点的值存入栈中        Stack<Integer> stack = new Stack<Integer>();                while(listNode != null){            stack.push(listNode.val);                        listNode = listNode.next;        }                       while(!stack.isEmpty()){            list.add(stack.pop()        }                return list;*/                                        //方法二:递归版本                     if(listNode != null){          printListFromTailToHead(listNode.next);          list.add(listNode.val);       }               return list;                //总结:我们发现,当一些添加或类似的操作放在递归方法后面的时候,最后一个调用的递归方法进行则完成最先的添加,因此可以完成类似倒序的形式。    }}

原创粉丝点击