zoukankan      html  css  js  c++  java
  • JZ-003-从尾到头打印链表

    从尾到头打印链表

    题目描述

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

    题目链接: 从尾到头打印链表

    代码

    import java.util.ArrayList;
    
    /**
     * 标题:
     * 题目描述
     * 
     * <p>
     * 题目链接
     * 
     */
    public class Jz03 {
    
        /**
         * 非递归
         *
         * @param listNode
         * @return
         */
        public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            ArrayList<Integer> res = new ArrayList<>();
            for (; listNode != null; listNode = listNode.next) {
                res.add(0, listNode.val);
            }
            return res;
        }
    
        /**
         * 递归
         *
         * @param listNode
         * @return
         */
        public static ArrayList<Integer> printListFromTailToHead1(ListNode listNode) {
            ArrayList<Integer> res = new ArrayList<Integer>();
            if (listNode != null) {
                res.addAll(printListFromTailToHead1(listNode.next));
                res.add(listNode.val);
            }
            return res;
        }
    
        public static void main(String[] args) {
            ListNode node = new ListNode(67);
            ListNode node1 = new ListNode(0);
            ListNode node2 = new ListNode(24);
            ListNode node3 = new ListNode(58);
            node.next = node1;
            node1.next = node2;
            node2.next = node3;
    
            // 非递归
            System.out.println("非递归~~~");
            ArrayList<Integer> res = printListFromTailToHead(node);
            for (int val : res) {
                System.out.println(val);
            }
    
            // 递归
            System.out.println("递归~~~");
            ArrayList<Integer> res1 = printListFromTailToHead1(node);
            for (int val : res1) {
                System.out.println(val);
            }
        }
    }
    

    【每日寄语】 方向对了,就不怕路远。坚持不仅是一种品质,也是一种信念。

  • 相关阅读:
    windows cluster 心跳检测阀值优化
    添加普通用户为sudoer
    每日备份脚本目录shell
    linux基础配置
    表变量 临时表 使用场景
    mysql分组排序row_number() over(partition by)
    replication_较少延迟时间
    SQL Server 参数化 PARAMETERIZATION
    thinkPHP RBAC模块
    thinkPHP 微信sdk
  • 原文地址:https://www.cnblogs.com/kaesar/p/15449230.html
Copyright © 2011-2022 走看看