从尾到头打印链表

从尾到头打印链表

http://www.nowcoder.com/questionTerminal/d0267f7f55b3412ba93bd35cfa8e8035

递归

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

时间复杂度 O(n)
空间复杂度 O(n)


非递归

import java.util.ArrayList;
public class Solution {

    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> res = new ArrayList<>();
       ListNode tmp = listNode;
        while(tmp != null){
            res.add(0, tmp.val);
            tmp = tmp.next;
        }
        return res;
    }

}

时间复杂度 O(n)
空间复杂度 O(n)

剑指Offer题解 文章被收录于专栏

为了之后反复练习方便查阅。

全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务