栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

从尾到头打印链表

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从尾到头打印链表

题目

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:
输入:head = [1,3,2]
输出:[2,3,1]

限制:
0 <= 链表长度 <= 10000

思想
  1. 单链表只能从头到尾遍历,遍历时可以使用容器存储。
  2. 不知道链表的具体长度,动态数组-》ArrayList存储
  3. 倒序遍历ArrayList,输出res数组。
语法

ArrayList

// ArrayList是容器,数据类型是包装类型。
初始化:ArrayList al == new ArrayList<>()
增:al.add(value)
查:al.get(i)
代码
class Solution {
    public int[] reversePrint(ListNode head) {
        if(head == null)
            return new int[0];
        ListNode p = head;
        // 定义一个数组储存遍历一遍的值
        ArrayList al = new ArrayList<>();
        while(p!=null){
            al.add(p.val);
            p = p.next;
        }
        // 逆序输出
        int[] res = new int[al.size()];
        for(int i = 0; i < al.size(); i++){
            res[al.size()-1-i] = al.get(i);
        }
    
        return res;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923590.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号