• 题目

    • 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
  • 思路
    • 使用栈依次存放输入的链表顺序的值,然后依次出栈便是链表的逆序。
  • 代码
    • import java.util.ArrayList;
      import java.util.Stack;
      /**
      *描述逆序打印链表
      * 输入:一个链表L1
      * 输出:按链表值逆序返回一个Arraylist
      *
      */
      public class ReversePrintList {
      /**需要定义节点,值和指针**/
      static class ListNode{
      int val;
      ListNode next=null;
      ListNode(int val){
      this.val=val;
      }
      }
      public static ArrayList<Integer> ReverseList(ListNode L1){
      Stack<Integer> sk1=new Stack<Integer>();
      ArrayList<Integer> res=new ArrayList<Integer>();
      if(L1==null){
      return null;
      }
      while(L1!=null){//入栈
      sk1.push(L1.val);
      L1=L1.next;
      }
      int len=sk1.size();
      for(int i=0;i<len;i++){//出栈
      res.add(sk1.pop());
      }
      return res;
      }
      public static void main(String Args[]){
      ListNode l1=new ListNode(1);
      ListNode l2=new ListNode(2);
      ListNode l3=new ListNode(3);
      ListNode l4=new ListNode(4);
      l1.next=l2;
      l2.next=l3;
      l3.next=l4;
      ReverseList(l1);
      ArrayList<Integer> a1=new ArrayList<Integer>();
      a1=ReverseList(l1);
      System.out.print(a1);
      }
      }

        

    • 输出
    • [4, 3, 2, 1]
      

        

面试题6:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList的更多相关文章

  1. 3、输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 利用栈“先进后出”的性质,将链表的值存入到栈里,然后将栈里的值存入到构建好的容器里,最后打印容器. class So ...

  2. 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList

    package algorithms; import java.util.ArrayList; import java.util.Stack; /** * public class ListNode ...

  3. 剑指Offer_编程题-003 - 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList

    如题 (总结) 首节点也存放了值,所以ListNode t = listNode; 直接从头开始遍历即可. 简单题目,但是构建的时候出了点问题,毕竟需要自己简单测测. 掌握链表的构建方法, 还要根据题 ...

  4. python链表从尾到头的顺序返回一个ArrayList

    思路:获取链表的值,添加入列表中,反转列表即可获得ArrayList # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): ...

  5. 剑指offer 面试题6:从尾到头打印链表

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 编程思想 从前往后遍历,将值存入栈中,然后打印栈中内容即可. 编程实现 /** * struct ListNode { * ...

  6. 剑指Offer编程题3——从尾到头打印链表

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList.   题目解析 方法1:建立两个vector,第一个用来存储正向访问的数据,第二个用来反向存储. /** * struct L ...

  7. 剑指offer【03】- 从尾到头打印链表(4种实现方法)

    题目:从尾到头打印链表 考点:链表 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 法一:ArrayList头插法 /** * public class ListNode ...

  8. 《剑指offer》从尾到头打印链表

    本题来自<剑指offer> 从尾到头打印链表 题目: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 方案一:首先遍历到尾部,然后从尾部进行到头值进行操作,后进先 ...

  9. 剑指offer——python【第3题】从尾到头打印链表

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 理解 首先要理解链表的概念,链表是由一串串数字首尾相连组成的 解题 # -*- coding:utf-8 -*- # cla ...

随机推荐

  1. Highcharts报表——让你的网页上图表画的飞起

    Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达 ...

  2. [LeetCode]Two Sum 【Vector全局指针的使用】

    无序数组返回两个元素和为给定值的下标. tricks:无序.返回下标增序.返回的是原始数组的下标. vector<int>*pa; bool cmp(int x,int y){ retur ...

  3. spring依赖注入(反转控制)

    SPRING依赖注入机制(反转控制)解析 Spring能有效地组织J2EE应用各层的对象.不管是控制层的Action对象,还是业务层的 Service对象,还是持久层的DAO对象,都可在Spring的 ...

  4. UVALive3415 Guardian of Decency —— 最大独立集

    题目链接:https://vjudge.net/problem/UVALive-3415 题解: 题意:选出尽可能多的人, 使得他(她)们之间不会擦出火花.即求出最大独立集. 1.因为性别有男女之分, ...

  5. IE、W3C两种CSS盒子模型

    利用CSS来布局页面布局DIV有点逻辑性!重点理解盒子模型,标准流和非标准流的区别,还有定位原理!把这3个攻破了,就非常简单了!多实践多参考!最后就是兼容问题了,在实践中自然就有经验了!这些兼容技巧都 ...

  6. Managing SQLite Database

    Approach #1: Use a Singleton to Instantiate the SQLiteOpenHelper Declare your database helper as a s ...

  7. 将多个jar合并为一个jar

    有时候,我们需要将多个jar合并为一个jar,ant提供了这样的一个功能 build.xml文件如下 执行以上任务会将 当前目录下的 mysql.jar,commons-io.jar合并为一个 all ...

  8. 洛谷 P1072 Hankson 的趣味题 —— 质因数分解

    题目:https://www.luogu.org/problemnew/show/P1072 满足条件的数 x 一定是 a1 的倍数,b1 的因数,a0/a1 与 x/a1 互质,b1/b0 与 b1 ...

  9. [九省联考2018]一双木棋chess——搜索+哈希

    题目:bzoj5248 https://www.lydsy.com/JudgeOnline/problem.php?id=5248 洛谷P4363 https://www.luogu.org/prob ...

  10. RTMP直播到FMS中的AAC音频直播

    本文引用了下面几个网友的文章: http://sun3eyes.blog.163.com/blog/#m=0&t=3&c=rtmp http://sun3eyes.blog.163.c ...