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;
        }
    }
  • 相关阅读:
    hiveserver2 with kerberos authentication
    python Basic usage
    python Quicksort demo
    Python HeapSort
    mrunit for wordcount demo
    CCDH证书
    Hadoop question list
    Hadoop Yarn core concepts
    Hadoop Resource
    Hadoop could not find or load main class
  • 原文地址:https://www.cnblogs.com/Aaron12/p/9507073.html
Copyright © 2011-2022 走看看