3___从尾到头打印列表

题目描述:

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

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        //思路:先将元素入栈,在取出到arrayList中
        Stack <Integer> s = new Stack<>();
        ArrayList<Integer> list=new ArrayList<>();
        
        //链表元素入栈
        while(listNode!=null){
            s.push(listNode.val);
            listNode=listNode.next;
        }
        //栈中元素出栈
        while(!s.empty()){
            list.add(s.pop());
        }
        return list;
    }
}

栈的判空操作: stack.empty();

猜你喜欢

转载自www.cnblogs.com/xbfchder/p/11444407.html