zoukankan      html  css  js  c++  java
  • 剑指offer-从尾到头打印链表

    题目描述

    输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
     
    方法一:利用ArrayList库函数
    1 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {//链表 my
    2         ArrayList<Integer> re = new ArrayList<Integer>();
    3         while(null!=listNode){
    4             re.add(0,listNode.val);
    5             listNode = listNode.next;
    6         }
    7         return re;
    8     }

    方法二:使用递归

    1 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {//链表 递归 mytip
    2         if(null==listNode){
    3             return new ArrayList<Integer>();
    4         }
    5         ArrayList<Integer> re = printListFromTailToHead(listNode.next);
    6         re.add(listNode.val);
    7         return re;
    8     }

    方法三:使用栈

     1 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {//链表 栈 mytip
     2         Stack<Integer> stack = new Stack<Integer>();
     3         while(null!=listNode){
     4             stack.push(listNode.val);
     5             listNode = listNode.next;
     6         }
     7         ArrayList<Integer> re = new ArrayList<Integer>(stack.size());
     8         while(!stack.isEmpty()){
     9             re.add(stack.pop());
    10         }
    11         return re;
    12     }
  • 相关阅读:
    邪恶的强制数据转换
    知识普及
    判断是否为一个数字
    parseInt
    webpack学习记录
    数组隐藏属性
    elasticSearch基本使用
    elasticsearch安装和部署
    neo4j索引
    spark yarn 提交作业
  • 原文地址:https://www.cnblogs.com/zhacai/p/10675997.html
Copyright © 2011-2022 走看看