【剑指OFFER】从尾到头打印链表

时间:2019-09-16
本文章向大家介绍【剑指OFFER】从尾到头打印链表,主要包括【剑指OFFER】从尾到头打印链表使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

【问题描述】

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

时间限制:1秒 空间限制:32768K

【AC代码】

一、链表+递归

 1 import java.util.ArrayList;
 2 public class Solution {
 3     ArrayList<Integer> al = new ArrayList<>();
 4     public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
 5         if (listNode != null) {
 6             printListFromTailToHead(listNode.next);
 7             al.add(listNode.val);
 8         }
 9         return al;
10     }
11 }
View Code

二、链表头插法

 1 import java.util.ArrayList;
 2 public class Solution {
 3     public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
 4         ArrayList<Integer> al = new ArrayList<>();
 5         while (listNode != null) {
 6             al.add(0, listNode.val); //每一次头插都相当于将之前所插入的元素向后顺序移动一个单位
 7             listNode = listNode.next;
 8         }
 9         return al;
10     }
11 }
View Code

原文地址:https://www.cnblogs.com/moongazer/p/11523558.html