技术文

剑指offer题解之三——从尾到头打印链表

2016-08-15  本文已影响65人  KaelQ

1. 题目

2.思路

递归思路,最里层最先执行。


3. code

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

运行时间:14ms
占用内存:8536k

public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
       ArrayList<Integer> after=new ArrayList<>();
       ArrayList<Integer> before=new ArrayList<>();
       while(listNode!=null){
           before.add(listNode.val);
           listNode=listNode.next;
       }
       for(int b=before.size()-1;b>=0;b--){
           after.add(before.get(b));
       }
        return after;
    }
}

运行时间:28ms
占用内存:22212k

上一篇下一篇

猜你喜欢

热点阅读