从尾到头打印链表

允我心安 提交于 2020-04-07 01:40:43

题目:

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

解答:

/**
 * public class ListNode {
 * int val;
 * ListNode next = null;
 * <p>
 * ListNode(int val) {
 * this.val = val;
 * }
 * }
 */

import java.util.ArrayList;
import java.util.Stack;

public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> arrayList = new ArrayList<Integer>();
        Stack<Integer> stack = new Stack<Integer>();
        int element = 0;
        // 入栈
        while (listNode != null) {/*链表不为空:listNode != null*/
            stack.push(listNode.val);
            listNode = listNode.next;
        }
        // 出栈
        while (!stack.isEmpty()) {/*栈不为空:stack.isEmpty()*/
            element = stack.pop();
            arrayList.add(element);
        }
        return arrayList;
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!