面试题6:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
- 题目
- 输入一个链表,按链表值从尾到头的顺序返回一个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的更多相关文章
- 3、输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 利用栈“先进后出”的性质,将链表的值存入到栈里,然后将栈里的值存入到构建好的容器里,最后打印容器. class So ...
- 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
package algorithms; import java.util.ArrayList; import java.util.Stack; /** * public class ListNode ...
- 剑指Offer_编程题-003 - 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
如题 (总结) 首节点也存放了值,所以ListNode t = listNode; 直接从头开始遍历即可. 简单题目,但是构建的时候出了点问题,毕竟需要自己简单测测. 掌握链表的构建方法, 还要根据题 ...
- python链表从尾到头的顺序返回一个ArrayList
思路:获取链表的值,添加入列表中,反转列表即可获得ArrayList # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): ...
- 剑指offer 面试题6:从尾到头打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 编程思想 从前往后遍历,将值存入栈中,然后打印栈中内容即可. 编程实现 /** * struct ListNode { * ...
- 剑指Offer编程题3——从尾到头打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 题目解析 方法1:建立两个vector,第一个用来存储正向访问的数据,第二个用来反向存储. /** * struct L ...
- 剑指offer【03】- 从尾到头打印链表(4种实现方法)
题目:从尾到头打印链表 考点:链表 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 法一:ArrayList头插法 /** * public class ListNode ...
- 《剑指offer》从尾到头打印链表
本题来自<剑指offer> 从尾到头打印链表 题目: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 方案一:首先遍历到尾部,然后从尾部进行到头值进行操作,后进先 ...
- 剑指offer——python【第3题】从尾到头打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 理解 首先要理解链表的概念,链表是由一串串数字首尾相连组成的 解题 # -*- coding:utf-8 -*- # cla ...
随机推荐
- YTU 2916: Shape系列-2
2916: Shape系列-2 时间限制: 1 Sec 内存限制: 128 MB 提交: 268 解决: 242 题目描述 小聪不喜欢小强的Shape类,声称用Shape类做出的形状不真实,于是小 ...
- 关于页面上输入框中 空格 、0 、NULL 的处理 示例
ep.setPositionNum(get("positionNum").toString()); ep.setClasstype(get("classtype" ...
- 深度学习 dns tunnel检测 使用统计特征 全连接网络——精度99.8%
代码如下: import numpy as np import tflearn from tflearn.layers.core import dropout from tflearn.layers. ...
- [TJOI2016&HEOI2016] 排序
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4552 [算法] 首先 , 二分答案x , 将比x小的数看作1,比x大的数看作0 然后 ...
- [noip模拟赛]午餐
https://www.zybuluo.com/ysner/note/1325779 题面 一共有\(n\)个人,林先森知道开始时只有\(1\)号会毒瘤算法.林先森了解到很多人一起吃过 午餐;具体地, ...
- eoj 3507 坑爹的售票机
EOJ 3507 坑爹的售票机 问题描述 oxx 和 xjj 决定和小伙伴们一同坐船前往 Xiamen.去 Xiamen 的船票一张 p 元. 当他们满怀兴致地来到港口时发现居然只有不设找零的自动 ...
- Codeforces 451E Devu and Flowers【容斥原理+卢卡斯定理】
题意:每个箱子里有\( f[i] \)种颜色相同的花,现在要取出\( s \)朵花,问一共有多少种颜色组合 首先枚举\( 2^n \)种不满足条件的情况,对于一个不被满足的盒子,我们至少拿出\( f[ ...
- 11.3NOIP模拟赛
/* 考虑贪心 把原序列排序后,对于原中位数往后所有比要更改到的值小的都改成它 正确性显然. */ #include<iostream> #include<cstdio> #i ...
- java-使用反射实现ORM映射
自定义两个注解 package com.moon.ROM; import java.lang.annotation.ElementType; import java.lang.annotation.R ...
- 洛谷P4141消失之物(背包经典题)——Chemist
题目地址:https://www.luogu.org/problemnew/show/P4141 分析:这题当然可以直接暴力枚举去掉哪一个物品,然后每次暴力跑一遍背包,时间复杂度为O(m*n^2),显 ...