0
点赞
收藏
分享

微信扫一扫

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

两岁时就很帅 2022-03-30 阅读 59
leetcode

在这里插入图片描述
简单题怎么做都行
官方题解是先正向遍历把值存在一个额外的栈中,再从栈中反向取出
我认为,这样做的额外空间是O(n) ,但如果我们正向遍历只用一个变量记录链表有多长,第二次遍历的时候把值从一个数组的尾部开始添加,最后返回。这样我们的额外空间是O(1)

自己的(0ms)

class Solution {
    public int[] reversePrint(ListNode head) {
        int index = -1;
        for(ListNode t = head; t != null; t = t.next) index ++;
        int[] ans = new int[index + 1];
        for(ListNode t = head; t != null; t = t.next) ans[index--] = t.val;
        return ans;
    }
}
举报

相关推荐

0 条评论