标签:int 信息 ext 返回 lock stack 结构 模拟 new
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思路
把栈从头到尾的遍历,在遍历的时候放入栈中,栈使用(LinkedList结构模拟),然后在存完后把栈中的一个个元素pop出放入list中。
Java代码
import java.util.*;
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//栈
Deque<Integer> stack = new LinkedList<Integer>();
//思路:把链表把按序放入栈中
ListNode headNode = listNode; //哨兵头节点
while(headNode!=null){
stack.push(headNode.val);
headNode = headNode.next;
}
//把栈中的信息拿出放入列表
while(!stack.isEmpty()){
arrayList.add(stack.pop());
}
//返回结果
return arrayList;
}
}
标签:int 信息 ext 返回 lock stack 结构 模拟 new
原文地址:https://www.cnblogs.com/jiyongjia/p/13227993.html