从尾到头打印链表

从尾到头打印链表(Java) 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表的结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext; }第一思路:我的第一思路是从头到尾输出类比数组那样,于是乎想把链表中的链表结点的指针反转过来,改变链表的方向,然后实现从头到尾输出(结果为从尾到头输出),可是发现修改链表的指针,反转链表的结构比较麻烦。于是乎放弃。(改... 阅读详情

题目描述

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

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        vector<int> ans;
        stack<ListNode*> flag;
        while(head)
        {
            flag.push(head);
            head = head->next;
        }
        int len= flag.size();
        for(int i =0;i<len;i++)
        {
            ListNode* node = flag.top();
            ans.push_back(node->val);
            flag.pop();
        }
        return ans;
    }
};

 

单链表的逆置和从尾到头打印单链表 从尾到头打印单链表:递归法。先声明一个节点为头结点(cur = *head),当cur-&gt;next为空时,输出打印cur节点。否则,就一直调用该节点。单链表逆置:头插法。即删掉头结点的下一个节点,然后把删掉的节点进行该链表的头插。例如:这样,就可以把节点b插到a的前面。以此类推,知道cur-&gt;next==NULL为止。单链表逆置还有一种方法:初始化3个节点,然后按照顺序以此进行交换赋值... 阅读详情

相关推荐

用Verilog手把手教你搭建一个5级流水线的MIPS CPU(附完整代码与仿真)

本文详细介绍了如何使用Verilog从零构建一个5级流水线的MIPS处理器,包括开发环境配置、核心模块实现、流水线冲突处理等关键技术。通过完整的代码示例和仿真方法,帮助读者掌握CPU设计的基本原理和实践技巧,特别适合想要入门处理器设计的工程师和学习者。

weixin_30613727的博客 464

leetcode 06. 从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 解题思路: 1. 链表需要顺序读取,从头到尾读取链表,存入数组,最后将数组倒序即可。时间复杂度O(n),空间复杂度O(n) 2.从尾到头与栈后进先出的思想一致,读取链表,存入堆栈,最后将结果弹出即可。 3.递归法 /** 1.反转数组 **/ var reversePri...

qq_38211443的博客 166

9 HAL库驱动框架简述(STM32HAL库)

HAL库外设的使用步骤总结如下:1、定义并填充xxx外设句柄结构体。2、如果遵循HAL库规范,通过HAL_xxx_MspInit()函数,实现外设底层资源的初始化,包括但不限于GPIO、时钟、DMA、中断等资源的初始化。3、调用HAL库的对应外设初始化函数,形如:HAL_xxx_Init()。4、初始化完成,开始使用外设。5、使用方法具体查看对应外设的HAL库驱动包中的说明:补充:HAL库使用主线外设初始化外设使用。

qq_25218501的博客 1984

【leetcode刷题笔记】4.从尾到头打印链表(简单)

题目如下: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 第一次尝试: 思路:建立一个新的数组,每读取一个元素就向数组第一位添加一个元素。 注意:记得让指针移动。 代码如下: /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.ne

zyc06123的博客 407

Rust练手:从零手撸RISC-V架构虚拟机(一)(附完整代码)

使用Rust实现一个简单的RISC-V架构的CPU雏形,支持add,sub,addi三个指令。

qq_45983373的博客 2574

Token算力工厂建设方案:从GPU集群到计量计费的全链路设计

在AI应用从“租核”走向“买Token”的范式转换中,算力交付的核心指标已不再是vCPU或GPU实例,而是单位时间内的Token产出量与单Token成本。这一变化推动基础设施从资源租赁向计件生产演进,要求GPU集群、推理引擎、调度系统、计量计费等模块像工厂产线一样协同运转。本文从硬件异构混部、存储网络设计、推理引擎调优、Token网关与配额管理、稳定性治理等维度,系统拆解如何构建一座可量化、可计费、可扩展的Token算力工厂,并给出分三期落地的推进节奏,帮助架构师与技术管理者在AI基础设施建设中实现成本可控

weixin_29095587的博客 266

leetcode--从尾到头打印链表

题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * Note: The returned array

onebutterfly 285

【Python爬虫】股票信息定向爬取

【Python爬虫】股票信息定向爬取:通过requests-bs4-re技术路线爬虫获取上交所和深交所所有股票的名称和交易信息

qq_39321802的博客 1507

[leetcode 剑指offer系列] 面试题06. 从尾到头打印链表

题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题算是链表里面相当基础的题目了, 虽然如此, 但如果加上了各种进阶限制, 就要考虑多种不同方案了. 若无意外, 每天晚上 6 点 45 分准时更新, 中间可能会穿插一些周赛题解. 大家在我的公众号"每日精选算法题"中的聊天框中回复 offer 就能看到该系列当前已经更新的文章了 大家有什么想法建议和反馈的话欢迎随时交流, 包括但不限于公众号聊天框/知乎私信评论等等~ 题目描述 输入一个链表的头节点,从尾到头反过来返回每.

随便发挥的博客 243

ADES1831和ADBMS6830

1、上电默认进入STANDBY模式,SPI发送0xFF也可以进入STANDBY模式2、看门狗定时器超时后,进入SLEEP状态3、配置寄存器中的REFON位使用WRCFGA命令将组A设置为1进入REFUP状态,此状态比待机状态更快地启动ADC转换。i<TOTAL_IC;i++)注意:读AFE数据时会随着AFE片数增加而增加,原因是唤醒时间和AFE片数密切相关,如果需要缩短时间,那么减少唤醒频次。

m0_61973119的博客 268

神州路由器DHCPv6配置

神州路由器DHCPv6配置.。

weixin_41687096的博客 462

LeetCode -剑指Offer 06 - 从尾到头打印链表 - java - 细喔

那么,我们可不可以 在逆序的过程中,计算链表的节点个数,从而确定我们需要创建的数组的容量大小。到时候逆序成功,直接for循环,将逆序后的链表节点val值,一个接着一个 通过下标赋值给 数组。就是想让你从链表尾结点开始到头节点结束,将每个节点的val 装入一个数组里,并将其返回。我们都知道 要想在链表正序的时候,逆序取出每个节点的是不可能的。所以,我们的第一件事:就是将链表逆序。逆序肯定涉及到遍历链表!

2401_84006757的博客 271

Universal Robot——在Gazebo中模拟UR5机器人

今天的目标是在Gazebo安装我们的ur5机器人。Gazebo是一个流行的模拟工具,它不仅可以让你像在Rviz中一样可视化你的机器人,而且还内置了一个物理引擎。这样你就可以在更真实的环境中测试你的机器人应用程序。我们将查看我们需要的属性 添加对我们的机器人——我们的order的描述,以模拟它以及如何在Gazebo中生成我们的机器人。

如果想成为中心,那么就到中心去吧。 1970

牛客题解 | 从尾到头打印链表

牛客题库题解

wc529065的博客 992

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

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

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

从尾到头打印链表——js

替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路: (1)正则 (2)split()方法 代码 //split方法 function replaceSpace(str) { return str.split(" ").join("%20"); } //...

qq_40608516的博客 813

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

单链表从尾到头打印的四种方法

一、单链表从尾到头打印的四种方法。 1、正常从尾到头打印。 用一个尾指针指到最后,尾指针每次前移移位,遇到尾指针则打印。 void EndToFirstPrintNode(SListNode*ps) //正常从尾到头打印 { SListNode *cur=ps; SListNode *tail=NULL; while (ps != tail) { cur=ps; while (tail != cur->_next) ...

weixin_58368590的博客 2021

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【链表】剑指Offer: 从尾到头打印链表

【在线编程】从尾到头打印链表 【问题描述】 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 【解题思路 & Java实现】 方法一:递归。 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * ...

journey_TripleP的博客 201

从尾到头打印链表 java

输入一个链表的头节点,从尾到头反过来打印输出每个节点的值。链表节点定义如下: public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } 首先会想到的方法是改变链表的方向,然后就可以从头到尾输出。 不过通常打印是一个只读操作,我们不希望打印时修改内容。 当我们遍历链表的时候 顺序是从头到尾,可输出的顺序是要求从尾到头,很容易想到,我们可以用栈(先进后出,后进先出)来实现这种顺序。 pu

Cangwuwuwu 185

剑指 offer第6题-从尾到头打印链表

链表一般是从头到尾打印比较方便,本题要从尾到头打印,可以想成是后进先出,是一个栈结构。而递归就是一个栈结构。 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * ...

ritagreen123的博客 348
上一篇: 反转链表
下一篇: 数组中重复的数字
云水谣CS
博客等级 码龄9年 8粉丝 268原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值