尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
链表的相关介绍
1.链表常用技巧和操作总结一、常用技巧1.画图---直观形象便于我们理解。2.引入虚拟头结点---便于处理边界情况方便我们对链表操作。3.不要吝啬空间大胆去定义变量。比如来一个变量一定义就不用考虑连接次序了反正可以找到。4.快慢双指针判环找链表中环的入口找到链表中倒数第N个节点。二、链表中的常用操作1.创建一个新节点new。2.尾插。3.头插。2.两数相加2. 两数相加 - 力扣LeetCodehttps://leetcode.cn/problems/add-two-numbers/description/这道题按逆序的方式存储其实是为了方便我们因为两数相加先加个位逆序存刚好先加第一位。这道题解法是模拟两数相加过程即可先创一个虚拟头节点目的是连最终的结果这样算出来直接连就可以了相加时用一个变量t来标记进位。然后定义两个指针模拟加法cur1不为空把数加t上cur2不为空把数加t上然后t变成了7同时cur1和cur2右移。然后把t的个位提取出来new一个节点把值放进去然后把个位干了不断重复为空时就不管了。下面来实现(两指针走完t里可能依然有进位)3.两两交换链表中的结点24. 两两交换链表中的节点 - 力扣LeetCodehttps://leetcode.cn/problems/swap-nodes-in-pairs/这用迭代方法来解决这引入一个虚拟头节点不加头节点前两个节点交换完后和后面两个节点交换完逻辑是不一样的。因为后面节点换完后前面有节点还得让前面节点指向交换后的而前面两个换完前面没节点怎么交换来四个变量因为两个交换涉及四个节点根据交换后看让prev的next指向next让next的next指向cur让cur的next指向nnext。换完后让指针位置这样指向进行下一次交换。只要cur/next(单数双数)有一个为空终止循环下面实现4.重排链表143. 重排链表 - 力扣LeetCodehttps://leetcode.cn/problems/reorder-list/description/解法是模拟根据题目要求重排链表就可以。重排后是这样的结果它特别像把两个链表按照一定顺序合并起来合并顺序是先连第一个链表头节点1再连第二个链表头节点4然后继续连第一个链表头节点2再连第二个链表头节点3。这两个链表正好是第一个是原链表前半部分第二个是原链表后半部分再逆序一下。因此本题策略是1.找到原链表的中间节点。2.把后面的部分逆序。3.合并两个链表下面来实现考虑slow落点单数偶数的情况两种情况开始逆序都可以头插法逆序推荐第一种因为若从slow逆序位置前一个和slow指向的断不开有可能会出现意想不到的错误最终要成两个链表第一种把slow的next置空就可以分为两个链表(第一种策略前半部分长所以考虑cur1不为空)5.合并K个升序链表23. 合并 K 个升序链表 - 力扣LeetCodehttps://leetcode.cn/problems/merge-k-sorted-lists/description/题目就是给了我们若干个升序链表最终让我们把这些链表合并到一起变成一个升序的链表返回。先说一下解法一暴力解法。我们以前学过合并两个有序链表的解法现在有k个链表先让前两个合并形成一个新的链表然后拿新的链表和下面的链表继续合并这样一直下去这样整个链表就完成了合并。这里时间复杂度怎么看呢假设每个链表的平均长度为n有k个链表这样第一个链表最终会和下面链表合并过合并k-1次第二个链表也会和下面链表合并过合并k-2次整体的时间复杂度就是这样下面想一个更优的解法利用优先级队列做优化我们先来想想之前的解法怎么做优化我们仿照合并2个有序链表的逻辑先定义k个指针把这三个指针中较小的那个位置先放到虚拟头结点的后面放完后指针右移继续下一次比较这个算法时间复杂度就是一个O(n*k)。但这是理想的时间复杂度因为我们还要找出谁是k个指针指向的结点中较小的那一个此时就要利用优先级队列。我们的操作是先弄一个小根堆先把这k个结点丢到小跟堆里面堆顶的元素就是要连到newhead的那个结点连完后让下一个位置继续进入小根堆整个链表按这样的逻辑走完就合并完毕了当某个链表走到空这个链表就不进入了。小根堆里有k个元素增删查改时间复杂度是logk一共修改n*k个所以时间复杂度是O(n*k*logk)。下面来编写代码6.K个一组翻转链表25. K 个一组翻转链表 - 力扣LeetCodehttps://leetcode.cn/problems/reverse-nodes-in-k-group/description/题目给了我们一个链表然后给了我们一个数字k让我们k个一组的来翻转链表也就是逆序。若某一部分不够k个就不翻转那一部分。下面来解决这个问题这个题的解法就是模拟这里模拟的策略是这样1.先求出需要逆序多少组n。2.重复n次长度为k的链表的逆序即可。比如上面的示例中需要逆序2组。这里先求出需要多少组目的是为了处理后面不逆序的情况。怎么统计呢仅需遍历链表一次求出链表的结点有n个然后nn/3就是需要逆序的组数。然后进行第二步用头插法逆序头插时候创建一个新的结点head然后把链表头插到结点的后面。从cur位置开始头插next记录下一个位置先头插1然后cur右移遍历到2把2头插遍历到3的时候把3头插下面需要头插下一组结点了下一组结点不是放到head的后面而是放到1的后面。所以头插的时候需要有一个变量tmp去记录1的位置这个1正好是刚开始循环进入的时候插入的结点所以每次循环进入标记一下循环的第一个位置把k个结点循环完后下次头插到1的位置下一组开始tmp(标记从哪个结点头插)标记4然后cur从4开始向后遍历然后再更新prev(每次逆序要头插的结点)的位置剩下的链表原封不动的放过去就可以了。下面来实现(n*k是结点个数O(N))
RELATED

相关推荐

ThinkRail Workspaces 实战指南:用 git worktree 实现 Agent 隔离开发与并行任务

ThinkRail Workspaces 实战指南:用 git worktree 实现 Agent 隔离开发与并行任务

【免费下载链接】thinkrail Vibe code with pi in a lightweight, real IDE that customises itself around the way you work — The Vibe You Need 项目地址: https://gitcode.com/GitHub_Trending/th/thinkrail 点击查看 免费下载 本文以 ThinkRail 官方博客《T…

📅 2026/10/27 10:09:02
3 步装好 Codex 桌面增强工具 Codex++,不再被单一供应商卡住

3 步装好 Codex 桌面增强工具 Codex++,不再被单一供应商卡住

3 步装好 Codex 桌面增强工具 Codex,不再被单一供应商卡住 【免费下载链接】CodexPlusPlus An enhanced tool for CodexApp, striving to make Codex better to use and more comfortable 一个CodexApp的增强工具,努力让Codex和其他 AI Agent变得更好用更…

📅 2026/10/27 10:09:02
unity团结引擎 出现水印:Not for release和Trial version

unity团结引擎 出现水印:Not for release和Trial version

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、吐槽一下二、申请个人发布标识符(最关键)(1)去认证(2)项目内填写标识符三、修复 Hub …

📅 2026/10/27 10:09:02
MORE NEWS

更多资讯

📰

抖音小游戏开发:Gravity Engine物理效果优化实践

1. 为什么要在抖音小游戏中使用引力引擎? 在抖音小游戏开发中,物理效果是提升游戏趣味性的关键因素。Gravity Engine(引力引擎)作为Unity中专门处理2D/3D物理效果的插件,能够为小游戏开发者提供开箱即用的物理模拟能力…

📰

Kimi 3.1密电追踪:API痕迹、Swarm蜂群与慢思考的AI应用暗示

1. 先说结论:这波“密电”到底在说什么 1.1 三条线索拼出的拼图 这几天AI圈里最热闹的话题,不是哪家模型又刷了榜单,而是一堆看似零散的线索在同一个时间点冒了出来:有人的API请求里忽然出现了一个从未见过的标识“k3d1-agent”&…

📰

AI伦理与提示工程:架构师的责任边界与实践

1. Agentic AI时代的技术伦理挑战 当AI系统开始具备自主决策能力时,技术伦理问题就从理论探讨变成了迫在眉睫的实践难题。作为提示工程架构师,我们设计的每一个参数、每一组提示词都在无形中塑造着AI的行为模式。去年某大型语言模型在客服场景中出现的歧…

📰

AI Agent在考古学中的应用与技术解析

1. 当AI Agent遇见考古学:一场跨越千年的技术革命 考古学家们正面临着一个前所未有的机遇——AI Agent技术正在彻底改变我们研究历史的方式。去年在埃及某遗址的发掘现场,研究团队使用AI图像分析系统,仅用3小时就完成了过去需要两周人工工作的…

📰

GRU天气预测实战:从数据清洗到上线避坑全流程

天气数据这东西,看起来规整,实际上手才知道有多磨人。我最早接触气象时序预测,是帮一个做农业物联网的小团队处理田间小气候数据,当时想得很简单:温度、湿度、气压这些指标按小时采样,不就是一条曲线往后推…

📰

并行AI代理管理实践:Orca ADE部署与编排全面解析

搞 AI 代理(Agent)开发的人,大概都有过这种体验:单个代理能跑通一个不错的 demo,但一旦任务复杂起来,需要多个代理分工协作——一个负责拆解需求、一个负责写代码、一个负责审查、一个负责跑测试——手忙脚…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬