在线视频播放网站怎么做的学编程去哪里学比较好

张小明 2026/1/8 7:10:26
在线视频播放网站怎么做的,学编程去哪里学比较好,江苏网站建设空间,北京昨晚出什么大事【LeetCode 简单题】206. 反转链表#xff1a;两种思路 代码详解 今天来拆解 LeetCode 上的经典简单题 ——206. 反转链表#xff0c;这是链表操作的入门必刷题#xff0c;同时也是很多面试的 “开胃菜”。本文会分享两种常用解法#xff0c;从思路到代码逐一分析#x…【LeetCode 简单题】206. 反转链表两种思路 代码详解今天来拆解 LeetCode 上的经典简单题 ——206. 反转链表这是链表操作的入门必刷题同时也是很多面试的 “开胃菜”。本文会分享两种常用解法从思路到代码逐一分析帮你彻底搞懂链表反转的逻辑题目描述给你单链表的头节点head请你反转链表并返回反转后的链表。示例输入head [1,2,3,4,5]输出[5,4,3,2,1]解法一双指针法原地反转空间复杂度 O (1)这是链表反转的最优解法不需要额外空间直接在原链表上修改指针指向。思路分析核心是用两个指针跟踪节点通过 “断链 - 反转指向 - 移动指针” 的步骤逐步将原链表的节点反向串联。步骤拆解定义两个指针newHead指向反转后的新链表头初始为nullptr、temp临时存储原链表的下一个节点遍历原链表每次取出当前节点head先用temp保存head的下一个节点防止断链后找不到后续节点把head的next指向newHead完成当前节点的反转移动newHead到head新链表头更新为当前节点移动head到temp继续遍历原链表遍历结束后newHead就是反转后的链表头。代码实现cpp运行/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* newHead nullptr; // 反转后的新链表头 ListNode* temp nullptr; // 临时存储原链表的下一个节点 while (head) { temp head-next; // 保存下一个节点 head-next newHead; // 当前节点指向新链表头反转 newHead head; // 新链表头更新为当前节点 head temp; // 继续遍历原链表 } return newHead; } };解法二辅助容器法思路直观空间复杂度 O (n)如果对指针操作不熟悉可以先用辅助容器暂存节点信息再重新构建链表。这种方法思路更直观适合新手理解。思路分析用vector存储原链表的所有节点值反转容器后基于容器中的值创建新链表。步骤拆解遍历原链表将每个节点的val存入vector反转vector此时容器内的值是原链表的逆序创建一个虚拟头节点dummy简化新链表的串联逻辑遍历反转后的vector依次创建新节点并串联返回虚拟头节点的next即新链表的头。代码实现class Solution { public: ListNode* reverseList(ListNode* head) { vectorint vals; // 1. 存储原链表的所有节点值 while (head) { vals.emplace_back(head-val); head head-next; } // 2. 反转容器值的顺序逆序 reverse(vals.begin(), vals.end()); // 3. 基于反转后的值构建新链表 ListNode* dummy new ListNode(0); // 虚拟头节点 ListNode* cur dummy; for (int val : vals) { cur-next new ListNode(val); // 创建新节点 cur cur-next; // 移动指针 } return dummy-next; // 虚拟头的next是新链表头 } };两种解法对比解法时间复杂度空间复杂度适用场景双指针法O(n)O(1)追求空间效率面试推荐写法辅助容器法O(n)O(n)新手理解链表反转逻辑或需保留原链表总结反转链表是链表操作的基础题双指针法是必须掌握的最优解空间 O (1)、逻辑清晰辅助容器法则是 “退而求其次” 的直观思路。建议先理解辅助容器法的逻辑再过渡到双指针法的指针操作如果你有其他解法欢迎在评论区交流
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

100m网站空间服务费网站备案后

3步掌握鸿蒙开源阅读:打造你的专属数字书房 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 还在为广告频繁弹窗而烦恼?被各种付费订阅困扰?开源阅读鸿蒙版为你带来…

张小明 2026/1/7 4:08:59 网站建设

wordpress主题lenewswordpress大数据优化

第一章:R语言多图组合布局设计概述在数据可视化领域,R语言凭借其强大的图形系统成为科研与数据分析人员的首选工具之一。多图组合布局设计允许将多个图形并置在同一绘图区域中,便于对比分析不同数据集或模型结果。R提供了多种实现方式&#x…

张小明 2026/1/7 4:08:27 网站建设

石家庄网站免费制作福州网站建设方案外包

第一章:Open-AutoGLM智能体电脑的基本架构与核心理念Open-AutoGLM智能体电脑是一种基于大语言模型驱动的自主决策系统,旨在实现从自然语言指令到具体操作行为的端到端自动化。其核心在于将语言模型作为“大脑”,结合感知、规划、执行模块&…

张小明 2026/1/7 4:07:23 网站建设

石家庄大型网站设计公司深圳市网站备案需求

YOLO模型精度不够?尝试FP16混合精度训练高端GPU 在工业质检线上,一台搭载YOLOv8的视觉系统正高速扫描PCB板——每秒处理上百帧图像,却频频漏检微米级焊点虚焊。工程师反复调参无果,最终发现瓶颈不在模型结构,而在训练阶…

张小明 2026/1/7 4:06:51 网站建设

app与网站的区别广州市人口

ComfyUI工作流设计:GLM-4.6V-Flash-WEB与其他模型串联推理 在如今AI应用快速落地的浪潮中,一个核心挑战逐渐浮现:如何让强大的多模态能力真正“跑得起来”?不是实验室里的demo,而是在普通服务器、甚至消费级显卡上稳定…

张小明 2026/1/7 4:06:18 网站建设