剑指Offer 03 从尾到头打印链表

用Zotero+B站Kimi,我如何把一篇顶会论文快速做成组会PPT(含完整提示词) 本文介绍如何利用Zotero和Kimi快速将顶会论文转化为组会PPT,提升学术汇报效率。通过Zotero的文献管理插件和Kimi的AI提炼技术,实现从论文阅读到PPT生成的全流程自动化,帮助研究者在90分钟内完成高质量汇报准备。 阅读详情

题目描述

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
说明:本题目包含复杂数据结构ListNode,点此查看相关信息

解答

读完题第一想法就先正序存储链表,再从尾到头遍历

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
       ListNode temp = listNode;
        //遍历链表
        ArrayList<Integer> arrayList = new ArrayList<>();
        ArrayList<Integer> list = new ArrayList<>();
        while(temp!=null){
            arrayList.add(temp.val);
            temp=temp.next;
        }
        if(arrayList.size()!=0){
            for (int i = arrayList.size() - 1; i >= 0; i--) {
                list.add(arrayList.get(i));
            }
        }else {

        }
        return list;
    }
}

题解中有人使用了递归解法:
我越发感觉到了自己的菜~
思路还是很清晰的:一直递归知道递归到了链表的最后一个元素,存储该元素的值,返回到倒数第二次的递归,然后存放倒数第二次的值…一直返回知道第一个节点,最后返回ArrayList

public class Solution {
    ArrayList<Integer> arrayList=new ArrayList<Integer>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
		if(listNode!=null){
			this.printListFromTailToHead(listNode.next);
			arrayList.add(listNode.val);
		}
		return arrayList;
    }
}	

题解中还有人给出了栈的解法,也不难理解,有时间再补充~

从毫米波到计算机视觉:智能座舱监控系统的多模态技术融合 本文探讨了智能座舱监控系统中多模态技术融合的创新应用,涵盖毫米波雷达、红外传感与计算机视觉的协同架构。通过传感器时空对齐、低光照算法突破及隐私保护设计,系统在DMS、OMS等场景实现99.7%的检测准确率,同时优化成本至$45以内,为汽车智能化提供关键技术支撑。 阅读详情

相关推荐

中文文本纠错实战:pycorrector与kenlm的安装与高效使用指南

本文提供了一份详细的中文文本纠错实战指南,重点介绍了pycorrector与kenlm的安装与高效使用方法。内容涵盖从编译环境准备、依赖安装到核心参数调优、批量处理及领域自适应等全流程,旨在帮助开发者快速部署并优化纠错系统,提升中文文本处理的质量与效率。

weixin_29055699的博客 411

剑指Offer #03 从尾到头打印链表(递归)

题目来源:牛客网-剑指Offer专题 题目地址:从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 题目解析 方法一: 因为题目要求返回的顺序是从尾到头,所以我们可以采用递归的形式访问链表,在回归的过程才将节点的值存入ArrayList中,以达到逆序的目的。 /** * public class ListNode { * int va...

Veggie的博客 1万+

基于FME—三调篇—尖锐角及小缝隙处理

1 问题分析: 该功能实现在FME较为简单,相对ARCGIS模型构建器以及ARCGIS ENGINE,FME更适合无代码基础的人群。在三调内业数据处理要求中,尖锐角是不允许存在的。本文基于FME实现了对尖锐角的自动查询与消除以及自动处理在消除尖锐角过程中产生的缝隙,并进行了拓扑检查,实现自动化批量处理尖锐角的功能,提高工作效率。 2 总体思路: 2.1 实现功能分析: 1.找出小于指定角度的尖锐角...

qq_33315579的博客 9181

03 图解剑指Offer 从尾到头打印链表 Java题解

03 从尾到头打印链表 Java题解03 从尾到头打印链表 Java题解题目链接题目描述题解:图解:代码:复杂度 03 从尾到头打印链表 Java题解 题目链接 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 题解: 方法一://双列表 1.创建两个ArrayList list list1 2.头节点为null直接返回list 3.当ListNode不为null时while循环遍历链表,每一次循环list1添加链表节点的值,同时ListNode的next指向下一个节点。 4.for

Vaxue的博客 236

Augustus手动安装教程

本文记载了如何结合conda手动安装Augustus

m0_65437087的博客 1257

浪涌电流测试仪的工作原理

浪涌电流脉冲形成的开始由同步电路 13 确定,该同步电路 13 发送命令以打开和第二开关 10 和 11,向发生器 14 发送控制命令以生成被测半导体器件 5 的控制信号和参考信号整形器 9 的触发脉冲。电流源的功率输出并联连接,以对流经被测半导体样品的电流求和。此外,使用数字控制扩展了测试仪的功能,能够产生各种形状的电流脉冲,例如梯形电流脉冲,以估计被测晶闸管的导通状态扩展时间。由于晶体管3的栅极是连接的,并且平衡电阻4包含在晶体管3的源中,因此通过每个晶体管3的电流脉冲大致相同,并重复参考信号的形状。

Jesse0257的博客 1256

剑指offer-03-从尾到头打印链表

题目描述* 剑指offer面试题5:从尾到头打印链表 输入一个链表的头结点,从尾到头打印出每个结点的值 解决方案一:首先遍历链表的节点后打印,典型的“后进先出”,可以使用栈来实现这种顺序。 解决方案二:栈的本质就是递归,直接使用递归的方式,打印一个节点的时候先打印它后面的节点,再打印该节点自身,实现反向打印 解决方案三:遍历链表,把链表中的元素复制到ArrayList中,然后逆序打印ArrayLi...

小强博客 225

从零玩转显示屏:手把手教你用Arduino驱动SPI屏幕(附引脚定义图)

本文提供了一份详尽的Arduino驱动SPI屏幕的入门指南。从SPI接口的核心引脚定义(如DC、RESET)与RGB接口的区别讲起,手把手指导硬件连接与软件库配置,并最终通过一个天气显示器实战项目,帮助读者掌握驱动SPI屏幕、显示RGB色彩内容的核心技能。

weixin_29189987的博客 131

剑指offer之03:从尾到头打印链表arrayList

题目:从尾到头打印链表arrayList 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 思路分析: (1)链表简介:链表是这样一种数据结构,它是线性表,表示逻辑有序,即即数据之间的顺序关系是由某种逻辑关系(如指针)来决定的,其结构如下图所示,每一个节点包括有当前节点的数值和下一个节点的地址。(后面我们在数据结构和算法中详细介绍链表) (2)逻辑分析:在上面的描述中我们知道链表的基本结构,那么,如何实现链表的反转呢?目前有两种思路 <1>链表...

尚拙的博客 506

手把手教你用TI MOSFET搭建0-100mA恒流源电路(附避坑指南)

本文详细介绍了如何使用TI MOSFET SI1204D搭建0-100mA恒流源电路,包括基础原理、电路设计、PCB布局和热管理技巧。通过分步指导和避坑指南,帮助工程师实现高精度、低成本的电流控制方案,适用于LED驱动、传感器激励等多种应用场景。

weixin_29310631的博客 484

记一次wireshark抓取QQ好友IP和火绒抓取微信IP

事情是这样的,,上个周,手机离奇的被盗,但没有关机,为了找回手机,粗学了一手QQ抓ip的手段。 这里我就直接做个演示,解析关键的点。 三种思路i. wireshark 抓取手机在线IPii 火绒抓取 微信在线接听IPiii 火绒抓取 微信在线不接听IP i. wireshark 抓取手机在线IP wireshark抓好友QQ的ip要求和对方打语音的时候要手机在线。 这里说一下,打语音和视频是直接能和对方建立连接,如果发文件,是直接发给腾讯的,抓不到包。 1.打开wireshark,通过电脑Tim给对方打语音

qq_29437513的博客 1万+

剑指Offer-03从尾到头打印链表

1.题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 2.代码 python版本 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def revers

STAR 178

OpenCV实例(一)人脸检测

计算机视觉使很多任务成为现实,其中两项任务就是人脸检测(在图像中定位人脸)和人脸识别(将人脸识别为特定的人)。OpenCV实现了一些人脸检测和识别的算法。从安全到娱乐,这些技术在现实环境中都有应用。介绍OpenCV的一些人脸检测和识别功能,并定义特定类型的可跟踪物体的数据文件。具体来说,将研究Haar级联分类器,通过分析相邻图像区域之间的对比度,确定给定图像或子图像是否与已知类型匹配。

小幽余生不加糖 5004

剑指offer-03从尾到头打印链表

题目描述 输入一个链表,从尾到头打印链表每个节点的值。 代码 function Node(element) { this.element=element; this.next=null; } function LList() { this.head=new Node('head'); this.find=find; this.insert=inse...

GoodAll_K的博客 167

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JZ03 剑指offer 从尾到头打印链表

第3题 从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> a; stack<int> s; while(head != NULL){ s.push(head->val

KazeHelloWorld的博客 61

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

剑指Offer-03.从尾到头打印链表

从尾到头打印链表 题目 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路 1.栈的使用 看到题的第一想法就是使用栈然后逆转 import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList<Integer> printListFromTai...

菜不是原罪 386

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

剑指offer 03 从尾到头打印链表

题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 总结:提到逆向,用stack存结点,用vector储存链表值返回 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), ...

tc950318的博客 124

剑指offer 03:从尾到头打印链表

题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 递归法 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; ...

89

【剑指offer】03——从尾到头打印链表

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

Daycym的博客 264

剑指offer03 从尾到头打印链表

题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 代码一、 自己写的:先反转链表,接着从前向后打印。时间复杂度O(n) public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ListNode ...

行走巨人国 145

从尾到头打印链表--剑指offer03(java实现)

题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 解题思路 两个ArrayList,将两边按顺序加入到一个,再输出到另一个,最后输出即可 源码 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * ...

妖言的博客 181

剑指offer-03. 从尾到头打印链表

题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 解题思路: 链表元素存入vector中,再使用reverse反转。 代码实现: /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * ...

qq_34449717的博客 144

【剑指offer-03】20190805/01 从尾到头打印链表

【剑指offer-03】从尾到头打印链表 考点:链表 时间限制:1秒 空间限制:32768K 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 思路: 一共有两种思路。 第一种思路: 通过辅助栈先进后出的性质,将数组倒序保存,然后再用另一个ArrayList保存倒序之后的数组,返回即可。 第二种思路: 借助递归实现(递归的本质还是使用了堆栈结构。 【这个代码放在其他思路】 ...

Lwolwo's 98

从尾到头打印链表(剑指offer03)

题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ c...

weixin_41036461的博客 157

剑指offer 03从尾到头打印链表 Java

一、题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 示例1 输入 {67,0,24,58} 返回值 [58,24,0,67] 二、代码 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import

雨渊的博客 193

剑指Offer(03):从尾到头打印链表

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

胖虎的博客 190
上一篇: 剑指Offer02 替换空格
下一篇: Windows右键添加vscode
「已注销」
博客等级 码龄8年 5粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值