【剑指offer--C/C++】JZ6 从尾到头打印链表
一、题目
二、本人思路及代码
直接在链表里进行翻转不太方便操作,但是数组就可以通过下标进行操作,于是,
思路1、
先遍历链表,以此存到vector中,然后再从后往前遍历这vector,存入到一个新的vector,就完成了翻转操作。
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:vector<int> printListFromTailToHead(ListNode* head) {vector<int> a,ret;while(head){a.push_back(head->val);head=head->next;}for(int i=a.size()-1;i>=0;i--){ret.push_back(a[i]);}return ret;}
};
思路2、
先遍历链表,以此存到vector中,然后定义两个指针,分别从头部和尾部同时往中间遍历,并将相应的位置进行交换,直到两个指针相等或后面的指针小于前面的。例如{1,2,3,4,5} --> 1和5交换,2和4交换。
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:vector<int> printListFromTailToHead(ListNode* head) {vector<int> a;while(head){a.push_back(head->val);head=head->next;}int i=0; int j=a.size()-1;int k;for(;i<j; j--,i++){k=a[i];a[i]=a[j];a[j]=k;}return a;}
};
三、学习他人精华
在牛客上看到一个思路,觉得非常不错,记录一下。
解法采用递归来实现链表的反转. 其实递归和反转可以说是一对孪生兄弟, 递归在触底反弹之后, 执行的就是一个逆向的遍历过程.
在函数外部声明, 即把ret声明为Solution类的一个公有变量. 从而函数每次直接调用ret执行操作即可, 不需要在每一层递归都声明一个新的ret.
class Solution {
public:vector<int> ret;vector<int> printListFromTailToHead(ListNode* head) {if(!head) return ret;printListFromTailToHead(head->next);ret.push_back(head->val);return ret;}
};
相关文章:
【剑指offer--C/C++】JZ6 从尾到头打印链表
一、题目 二、本人思路及代码 直接在链表里进行翻转不太方便操作,但是数组就可以通过下标进行操作,于是, 思路1、 先遍历链表,以此存到vector中,然后再从后往前遍历这vector,存入到一个新的vector,就完成…...
算法-买卖股票的最佳时机
1、题目来源 121. 买卖股票的最佳时机 - 力扣(LeetCode) 2、题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖…...
【大数据】Flink SQL 语法篇(十):EXPLAIN、USE、LOAD、SET、SQL Hints
《Flink SQL 语法篇》系列,共包含以下 10 篇文章: Flink SQL 语法篇(一):CREATEFlink SQL 语法篇(二):WITH、SELECT & WHERE、SELECT DISTINCTFlink SQL 语法篇(三&…...
Java中List接口常见的实现类
目录 ArrayList实现类 数据存储 构造器 成员方法:CRUD Vector实现类 数据存储 构造器方法 成员方法 LinkedList实现类 数据存储 构造器方法 成员方法CRUD List总结 ArrayList:数组实现,随机访问速度快,增删慢&#x…...
SPI通信
SPI通信: 四根通信线:SCK,MOSI,MISO,SS(从机选择线) 同步时钟,全双工 支持总线挂载多个设备,一主多从 SPI相对IIC传输更快,最简单,最快速 SPI没有接收和应答机制,发送就发…...
【动态规划】【数论】【区间合并】3041. 修改数组后最大化数组中的连续元素数目
作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 数论 区间合并 LeetCode3041. 修改数组后最大化数组中的连续元素数目 给你一个下标从 0 开始只包含 正 整数的数组 nums 。 一开始,你可以将数组中 任意数量 元素增加 至多 1 。 修改后,你可以从…...
字节后端实习 一面凉经
心脏和字节永远都在跳动 深圳还有没有大厂招后端日常实习生啊,求捞~(boss小公司也不理我) 很纠结要不要干脆直接面暑期实习,又怕因为没有后端实习经历,面不到大厂实习。死锁了...
倒计时37天
复习1001. 马走日问题: 1.P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) //日常碎碎念:谁懂啊,dev突然不能用了,也不知道是哪里出了问题下了五六次都不能用,,,找远程安…...
【计算机考研】考408,还是不考408性价比高?
首先综合考虑,如果其他科目并不是很优秀,需要我们花一定的时间去复习,408的性价比就不高,各个科目的时间互相挤压,如果备考时间不充裕,考虑其他专业课也未尝不可。 复习408本来就是费力不讨好的事情 不同…...
测试入门篇
测试: 这里写目录标题 测试:基础概念:BUG:创建一个合理的bug:bug 的级别:跟开发争执如何解决: 测试用例:编写测试用例的万能公式:案例: 登录功能的测试:设计测试用例的方法: 进阶篇(主要介绍测试方法):自动化测试:自动化测试的分类:selenium( web 自动化测试工具 )环境部署:什么…...
b站小土堆pytorch学习记录—— P25-P26 网络模型的使用和修改、保存和读取
文章目录 一、修改1.方法2.代码 二、保存和读取1.方法2.代码(1)保存(2)加载 3.陷阱 一、修改 1.方法 add_module(name: str, module: Module) -> None name 是要添加的子模块的名称。 module 是要添加的子模块。 调用 add_m…...
[数据结构]OJ用队列实现栈
225. 用队列实现栈 - 力扣(LeetCode) 官方题解:https://leetcode.cn/problems/implement-stack-using-queues/solutions/432204/yong-dui-lie-shi-xian-zhan-by-leetcode-solution/ 首先我们要知道 栈是一种后进先出的数据结构,…...
「优选算法刷题」:最长回文子串
一、题目 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba"…...
Java项目:41 springboot大学生入学审核系统的设计与实现010
作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本大学生入学审核系统管理员和学生。 管理员功能有个人中心,学生管理,学籍信息管理,入学办理管理等。 学生功能有…...
【数据结构与算法】常见排序算法(Sorting Algorithm)
文章目录 相关概念1. 冒泡排序(Bubble Sort)2. 直接插入排序(Insertion Sort)3. 希尔排序(Shell Sort)4. 直接选择排序(Selection Sort)5. 堆排序(Heap Sort)…...
Unity3D学习之XLua实践——背包系统
文章目录 1 前言2 新建工程导入必要资源2.1 AB包设置2.2 C# 脚本2.3 VSCode 的环境搭建 3 面板拼凑3.1 主面板拼凑3.2 背包面板拼凑3.3 格子复合组件拼凑3.4 常用类别名准备3.5 数据准备3.5.1 图集准备3.5.2 json3.5.3 打AB包 4 Lua读取json表及准备玩家数据5 主面板逻辑6 背包…...
前端技术研究越深入,越觉得技术不是决定录用唯一条件。
一、拒绝抬杠 我说技能不是唯一条件,不是说技能不重要,招聘前端条件是1X,其中1是技能,X是其他条件。 如果X条件很优秀,1这个条件可以降格为0.8、0.5,甚至更低。 有人就抬杠,那为啥不招聘清洁工来干前端&…...
vue组件的重新渲染的问题
目录 1.方式1 2.方式2 1.方式1 修改组件上的key属性 Vue是通过diffing算法比较虚拟DOM和真实DOM,来判断新旧 DOM 的变化。key是虚拟DOM对象的标识,在更新显示时key表示着DOM的唯一性。 DOM是否变化的核心是通过判断新旧DOM的key值是否变化,…...
opengl 学习(二)-----你好,三角形
你好,三角形 分类demo效果解析 分类 opengl c demo #include "glad/glad.h" #include "glfw3.h" #include <iostream> #include <cmath> #include <vector>using namespace std;/** * 在学习此节之前,建议将这…...
mongodb4.2升级到5.0版本,升级到6.0版本, 升级到7.0版本案例
今天一客户想把自己当前使用的mongodb数据库4.2版本升级到7.0版本。难道mongodb能直接跳跃升级吗? 经过几经查找资料,貌似真不行呀。确定升级流程如下: 还得从mongo4.2升级到5.0。其次再从5.0升级到6.0。最后再从6.0升级到7.0。 开始升级之前将数据进行备份 这一步…...
Python 装饰器实战:用@syntax 优雅地增强函数功能
# Python 装饰器实战:用syntax 优雅地增强函数功能## 什么是装饰器?装饰器(Decorator)是 Python 中的一种高级特性,它允许你在不修改原函数代码的情况下,动态地给函数添加功能。简单来说,装饰器…...
OpenClaw自动化测试:百川2-13B驱动的前端元素定位与交互验证
OpenClaw自动化测试:百川2-13B驱动的前端元素定位与交互验证 1. 从手工测试到智能测试的进化之路 作为一名长期奋战在前端测试一线的开发者,我经历过从纯手工点击到Selenium脚本,再到Playwright框架的技术迭代。每次升级都带来效率提升&…...
B站Index-AniSora本地部署避坑指南:4张4090显卡实测+常见错误解决
4张RTX 4090实战:Index-AniSora动漫生成模型深度部署手册 当四张RTX 4090显卡同时亮起RGB灯效时,机箱内涌动的不仅是1.2kW的功耗,更是一个能够将二次元幻想转化为动态画面的数字炼金术工坊。B站开源的Index-AniSora模型正在重新定义独立创作者…...
Anaconda Prompt卡在solving environment?别慌,三步搞定清华镜像源配置(附.condarc文件)
Anaconda环境配置卡顿?清华镜像源优化全指南 刚接触Python数据科学的新手们,十有八九会在Anaconda环境配置这一步栽跟头。特别是当看到命令行窗口里"solving environment"的提示一直转圈却迟迟没有进展时,那种等待的煎熬简直让人抓…...
安全第一:OpenClaw+GLM-4.7-Flash的本地化数据处理方案
安全第一:OpenClawGLM-4.7-Flash的本地化数据处理方案 1. 为什么我们需要本地化AI解决方案 上个月我帮一位律师朋友处理合同审查任务时,遇到了一个棘手问题——他需要分析上百份涉及商业机密的文件,但担心使用云端AI服务会导致数据泄露。这…...
OpenClaw数据安全方案:nanobot镜像的本地化存储配置
OpenClaw数据安全方案:nanobot镜像的本地化存储配置 1. 为什么需要关注OpenClaw的数据安全 上周我在用OpenClaw自动处理一份客户报价单时,突然意识到一个严重问题——这个能操控我电脑鼠标键盘的AI助手,正在读取我桌面上所有Excel文件。虽然…...
OpenClaw安全方案:nanobot本地模型的数据隐私保护实践
OpenClaw安全方案:nanobot本地模型的数据隐私保护实践 1. 为什么选择本地化部署 去年夏天,我接手了一个特殊项目——为一家小型会计师事务所设计自动化财务文档处理方案。最初考虑使用云端AI服务时,客户明确提出了数据隐私的硬性要求&#…...
HunyuanVideo-Foley 社区贡献指南:如何提交Prompt案例与优化建议
HunyuanVideo-Foley 社区贡献指南:如何提交Prompt案例与优化建议 1. 为什么你的贡献很重要 开源项目的生命力来自社区的共同参与。HunyuanVideo-Foley作为一款专注于音效生成的AI模型,其效果提升离不开用户的实际使用反馈和创意贡献。你的每一次Prompt…...
MAA明日方舟自动化助手:5分钟快速上手指南
MAA明日方舟自动化助手:5分钟快速上手指南 【免费下载链接】MaaAssistantArknights 一款明日方舟游戏小助手 项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights MAA(MaaAssistantArknights)是一款专为《明日方…...
拆解 OA 系统:从需求梳理到核心执行,新手一看就会
你是不是觉得公司的OA系统特别难用?报销要填八百个字段,不知道哪个是必填;请假批完还得自己跑去找下一个人;找一个去年的合同,得翻十几层文件夹。更气人的是,提了意见根本没人管,说系统改不了。…...
