美文网首页
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