美文网首页
java数据结构和算法(03)从尾到头打印链表

java数据结构和算法(03)从尾到头打印链表

作者: ngu2008 | 来源:发表于2019-06-03 21:57 被阅读0次
  • 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。完成如下代码:
/**
*    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
  • 代码:
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        if (listNode == null) {
            return list;
        }
        Stack<ListNode> stack = new Stack<ListNode>();
        while (listNode != null) {
            stack.push(listNode);
            listNode = listNode.next;
        }
        while (!stack.empty()&&stack.peek()!=null){            
            list.add(stack.pop().val);
        }
        return list;
    }
}

相关文章

网友评论

      本文标题:java数据结构和算法(03)从尾到头打印链表

      本文链接:https://www.haomeiwen.com/subject/idohxctx.html