zoukankan      html  css  js  c++  java
  • [编程题] 从尾到头打印链表

    从尾到头打印链表

    题目描述

    输入一个链表,按链表从尾到头的顺序返回一个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;
        }
    }
    
  • 相关阅读:
    软件工程第三次作业
    软件工程第一次作业
    软件工程第0次作业
    第2次作业
    第1次作业
    第0次作业
    软件工程第四次作业 石墨文档IOS
    软件工程第三次作业
    软件工程第一次作业
    第零次作业
  • 原文地址:https://www.cnblogs.com/jiyongjia/p/13227993.html
Copyright © 2011-2022 走看看