从尾到头打印链表

题目描述

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
 
java实现
 
 1 //题目给定的链表条件
 2 
 3 public class ListNode {
 4     int val;
 5     ListNode next = null;
 6 
 7     public ListNode(int val) {
 8         this.val = val;
 9     }
10 
11 }

 

 1 public class Solution {
 2     ArrayList<Integer> arrayList=new ArrayList<Integer>();
 3     public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
 4         if(listNode!=null){
 5             this.printListFromTailToHead(listNode.next);
 6             arrayList.add(listNode.val);
 7         }
 8         return arrayList;
 9     }
10

 

思路:递归思想,不断将链表的next节点递归,当到达临界条件后开始回溯,结果即为链表的尾部开始返回并相应的增加到ArrayList()的尾部,则打印出来的即是从尾到头打印链表。
 
 
 
 
posted @ 2018-08-04 10:44  Octopus22  阅读(112)  评论(0编辑  收藏  举报