ITPub博客

首页 > IT职业 > IT职场 > 剑指offer(三)从尾到头打印链表

剑指offer(三)从尾到头打印链表

IT职场 作者:nike_hao 时间:2021-09-09 10:12:59 0 删除 编辑

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

思路:
输入一个链表,将链表遍历出来,用集合接受,然后翻转集合,那么就是倒着的链表,
本来是想着能不能直接从链表的尾部开始倒着遍历,直接添加到集合,但是想了一下,还是要各位帮帮忙,

代码实现

package com.itzmn.offer;import java.util.ArrayList;import java.util.Collections;/**
 * @Auther: 张梦楠
 * @Date: 2018/7/27 18:41
 * 简书:https://www.jianshu.com/u/d611be10d1a6
 * 码云:https://gitee.com/zhangqiye
 * @Description:
 */public class Offer3 {    public static void main(String[] args) {        new Offer3().init();
    }    private void init() {
        ListNode listNode = new ListNode(2);
        ListNode listNode1 = new ListNode(3);
        ListNode listNode3 = new ListNode(4);

        listNode.next  = listNode1;
        listNode1.next = listNode3;
        ArrayList<Integer> integers = printListFromTailToHead(listNode);        for (Integer integer:integers){
            System.out.println(integer);
        }
    }    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {

        ArrayList<Integer> integers = new ArrayList<>();        while (listNode != null){
            integers.add(listNode.val);
            listNode = listNode.next;
        }

        Collections.reverse(integers);        return integers;

    }    class ListNode {        int val;
        ListNode next = null;

        ListNode(int val) {            this.val = val;
        }
    }
}



作者:z七夜
链接:https://www.jianshu.com/p/24f5a166379d


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3643/viewspace-2818342/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    84
  • 访问量
    668