从尾到头打印链表

剑指Offer

题目描述

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

思路:

后进先出,栈。

	/**
	*    public class ListNode {
	*        int val;
	*        ListNode next = null;
	*
	*        ListNode(int val) {
	*            this.val = val;
	*        }
	*    }
	*
	*/
	import java.util.Stack;
	import java.util.ArrayList;
	public class Solution {
	    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
	        ArrayList<Integer> list=new ArrayList<Integer>();
	        ListNode tempNode=listNode;
	        Stack<Integer> stack=new Stack<Integer>();
	        while(tempNode!=null){
	            stack.push(tempNode.val);
	            tempNode=tempNode.next;
	        }
	        while(!stack.isEmpty()){
	            list.add(stack.pop());
	        }
	        return list;
	    }
	}
posted @ 2018-07-11 19:59  罗贱人  阅读(89)  评论(0编辑  收藏  举报