zoukankan      html  css  js  c++  java
  • 面试题:从尾到头打印链表

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

    方法1:典型思路就是利用栈的后进先出

    import java.util.Stack;
    import java.util.ArrayList;
    public class Solution {
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            Stack<Integer> stack = new Stack<>();
            while(listNode!=null){
                stack.push(listNode.val);
                listNode = listNode.next;
            }
            ArrayList<Integer> list = new ArrayList<>();
            while(!stack.isEmpty()){
                list.add(stack.pop());
            }
            return list;
        }
    }

    方法2:利用递归

    import java.util.Stack;
    import java.util.ArrayList;
    public class Solution {
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            ArrayList<Integer> List=new ArrayList<Integer>();
            if(listNode!=null){
                this.printListFromTailToHead(listNode.next);
                List.add(0,listNode.val);
            }
            return List;
        }
    }

    方法3:利用ArrayList的add

    import java.util.Stack;
    import java.util.ArrayList;
    public class Solution {
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            ArrayList<Integer> list = new ArrayList<>();
            while(listNode!=null){
                list.add(0,listNode.val);
                listNode = listNode.next;
            }
            return list;
        }
    }
  • 相关阅读:
    hdu4549 M斐波那契数列(矩阵快速幂+费马小定理)
    E. 因数串(EOJ Monthly 2020.7 Sponsored by TuSimple)
    2019春总结作业
    大一下半年学期总结
    ball小游戏
    贪吃蛇
    链接远程仓库
    git自动上传脚本及基本代码
    模板 --游戏
    飞机小游戏
  • 原文地址:https://www.cnblogs.com/Aaron12/p/9507073.html
Copyright © 2011-2022 走看看