从尾到头打印链表

输入一个链表,从尾到头打印链表每个节点的值。

  

public class ListNode {
    public int data;
    public ListNode next = null;
    public ListNode(int data){
        this.data = data;
    
    }
public class searchLink {
    public ArrayList<Integer>printListFromTailToHead(ListNode listNode){
        if(listNode == null){
            ArrayList list = new ArrayList();
            return list;
        }
        Stack<Integer> stk = new Stack<Integer>();
        while(listNode != null){
            stk.push(listNode.data);
            listNode = listNode.next;
            }
        ArrayList<Integer> arr = new ArrayList<Integer>();
        while(!stk.isEmpty()){
            arr.add(stk.pop());
        }
        return arr;
    }
}

思路在于,借助栈的特点,先进后出。所以先压栈,堆栈,最后再弹栈到集合中就OK。

原文地址:https://www.cnblogs.com/yangsy0915/p/4932388.html