给定一个单链表
L的头节点head,单链表L表示为:
L0 → L1 → … → Ln-1 → Ln
请将其重新排列后变为:
L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */ public class Solution { public void ReorderList(ListNode head) { // 思路:将列表中的所有节点添加到栈中,每次插入时就从栈中取出 // 边界条件:head不能为null或者head.next不能为null if (head == null || head.next == null) return; // 将所有的节点压入栈中 Stack<ListNode> nodeStack = new Stack<ListNode>(); // 定义一个peekNode指向栈顶节点 ListNode peekNode = head; while (peekNode != null) { nodeStack.Push(peekNode); peekNode = peekNode.next; } peekNode = nodeStack.Peek(); // 定义一个preNode指向当前的前一个执行了插入的节点,初值为null ListNode preNode = null; // 定义一个nextNode指向下一个需要执行插入的节点,初值为head ListNode nextNode = head; // 临时节点 ListNode tmpNode = null; // 进行一个while循环,循环条件为preNode不能等于栈顶节点或者nextNode不能等于栈顶节点 while ( preNode != peekNode && nextNode != peekNode) { tmpNode = nextNode.next != peekNode ? nextNode.next : null; // 执行插入操作 preNode = nextNode; nextNode.next = peekNode; peekNode.next = tmpNode; nodeStack.Pop(); peekNode = nodeStack.Peek(); nextNode = tmpNode; } // 质空尾部 if(nextNode != null) nextNode.next = null; } }
【剑指Offer】026. 重排链表
张小明
前端开发工程师
深度学习毕设选题推荐:基于python深度学习的餐桌美食识别机器学习
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
高通推出Dragonwing Q-7790 和 Q-8750 处理器,工业及嵌入式物联网布局已成型
2026年1月5日,拉斯维加斯——在国际消费电子展(CES)上,高通技术公司今日宣布其物联网产品组合进一步扩展,其中包括全新的高通跃龙™Q系列处理器。在过去18个月中,通过对Augentix、Arduino、Edge Impulse、F…
Vue3 项目本地图片正常显示,打包后无法显示
在 Vue3 项目开发过程中,常出现本地开发环境下图片显示正常,但执行打包构建后,图片无法加载(常见表现为 404 错误)的问题。该问题核心源于本地开发与生产打包的资源解析规则差异、路径配置不当或静态资源处理逻辑疏漏&…
站在2026望“十五五”:电力招标网助力清洁能源,共赴绿色发展新程
站在2026年的起点,回首2025年,我国清洁能源领域成绩斐然,为经济发展注入了强劲的“绿色”动能。在“双碳”目标的引领下,一大批清洁能源项目建成投产,不仅夯实了能源保供的基础,更成为经济稳增长的重要支撑…
云上稳着陆,就找天翼云Landing Zone!
在数字化转型浪潮中 越来越多大型企业将业务迁移至云端 然而,随着云系统增多 资源庞杂、权限交错 云上管理往往变得像一团“乱麻” 运维成本高、协作效率低、安全隐患多 正是许多企业 “上云容易管云难”的真实写照如何让企业在上云之初 就建立起清晰、安全、高效的…
爆肝40亿!AI独角兽上市潮袭来,大模型开发者薪资要起飞了?这3个技术方向速码住!
智谱与MiniMax,两家国内AI大模型领域的“独角兽”企业,已于12月中下旬相继通过港交所聆讯,并披露了招股书,计划于2026年初正式登陆港股市场。 这场“全球大模型第一股”的争夺战,不仅是两家企业的竞争,更代…