刷题记录-剑指offer6:从尾到头打印链表

Posted tendermelon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题记录-剑指offer6:从尾到头打印链表相关的知识,希望对你有一定的参考价值。

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

方法一:递归

import java.util.ArrayList;
public class Solution {
    ArrayList<Integer> ret = new ArrayList<Integer>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        if(listNode == null)
            return ret;
        printListFromTailToHead(listNode.next);
        ret.add(listNode.val);
        return ret;
    }
}

方法二:栈

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

java里都有现成的stack和queue接口可以调用

以上是关于刷题记录-剑指offer6:从尾到头打印链表的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题剑指Offer6-简单-从尾到头打印链表

剑指offer系列刷题第二篇——从尾到头打印链表和反转链表

剑指offer6&7&8&9-链表&树&栈

剑指 Offer 06. 从尾到头打印链表

从尾到头打印链表-剑指Offer

《剑指Offer—— 06. 从尾到头打印链表》代码