从尾到头打印链表

Posted hyxsolitude

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从尾到头打印链表相关的知识,希望对你有一定的参考价值。

题目描述

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
 
技术图片
 1 /**
 2 *    public class ListNode {
 3 *        int val;
 4 *        ListNode next = null;
 5 *
 6 *        ListNode(int val) {
 7 *            this.val = val;
 8 *        }
 9 *    }
10 *
11 */
12 import java.util.ArrayList;
13 import java.util.*;
14 public class Solution {
15     public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
16         
17         Stack<Integer> s = new Stack<Integer>();
18         ListNode p = listNode;
19         while (p != null) {
20             s.push(p.val);
21             p = p.next;
22         }
23         ArrayList<Integer> ans = new ArrayList<Integer>();
24         while (!s.empty()) {
25             ans.add(s.pop());
26         }
27         return ans;
28         
29     }
30     
31 }
View Code

 递归

技术图片
 1 /**
 2 *    public class ListNode {
 3 *        int val;
 4 *        ListNode next = null;
 5 *
 6 *        ListNode(int val) {
 7 *            this.val = val;
 8 *        }
 9 *    }
10 *
11 */
12 import java.util.ArrayList;
13 import java.util.*;
14 public class Solution {
15     public void work(ListNode p, ArrayList<Integer> ans) {
16         if (p == null) return;
17         work(p.next, ans);
18         ans.add(p.val);
19         
20     }
21     public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
22         ArrayList<Integer> ans = new ArrayList<Integer>();
23         work(listNode, ans);
24         return ans;
25         
26         
27     }
28     
29 }
View Code

 

以上是关于从尾到头打印链表的主要内容,如果未能解决你的问题,请参考以下文章

从尾到头打印链表-剑指Offer

从尾到头打印链表

《剑指Offer—— 06. 从尾到头打印链表》代码

从尾到头打印链表

从尾到头打印链表

[编程题] 从尾到头打印链表