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

来源:互联网 发布:淘宝买装饰画 编辑:程序博客网 时间:2024/05/16 12:44

这里是单链表

方法一:用递归的方法,一般循环嵌套不是太多次可以考虑递归

import java.util.ArrayList;public class Solution {    ArrayList<Integer> list = new ArrayList<Integer>();    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {         if(listNode != null){             this.printListFromTailToHead(listNode.next);             list.add(listNode.val);         }        return list;    }}
方法二:利用栈

import java.util.ArrayList;import java.util.Stack;public class Solution {    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {    ArrayList<Integer> arr = new ArrayList<Integer>();    Stack<Integer> stack = new Stack<Integer>();        while(listNode!=null){        stack.push(listNode.val);        listNode = listNode.next;        }        while(!stack.isEmpty()){        arr.add(stack.pop());        }        return arr;    }}


0 0
原创粉丝点击