剑指Offer之从尾到头打印列表 问题描述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 问题分析: 链表是从头到尾开始读取的,可以在ArrayList中的0位置每次插入读取的数字。
/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list = new ArrayList<>(); ListNode tmp = listNode; while(tmp != null){ list.add(0,tmp.val); tmp = tmp.next; } return list; } }递归想法
import java.util.ArrayList; public class Solution { ArrayList<Integer> list = new ArrayList<>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode != null){//注意这里是listNode,之前我自己用listNode.next出现错误 printListFromTailToHead(listNode.next); list.add(listNode.val); } return list; } }