给定一个单链表
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. 重排链表
张小明
前端开发工程师
大模型技术揭秘:从“掷骰子“到“调色盘“的AI进化论,小白也能懂的生成式AI底层逻辑!
在上一篇《Diffusion 的本质》中,我们建立了一个视角:几乎所有的图像生成式 AI,本质上都在做同一件事——从数据分布 中采样。 好奇的读者会问:那 LLM 这类文本为主的生成式 AI 呢? 其实,我们可以把上面那…
震惊!2026大模型将颠覆编程世界,这8大趋势你必须掌握!小白逆袭就靠它了!
技术狂飙,政策渐明 2026,站在科技转型的十字路口 处处都是新看点 从实验室到生产线 从技术内幕到风向解读 快来和“局长”一起翻开底牌,盘透逻辑! 大模型技术自2017年Transformer架构问世以来,已从单一文本处理演…
【毕业设计】卷神经网络基于python深度学习的餐桌美食识别
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
开题报告卡壳?paperzz 开题报告:连 PPT 都能一键生成的智能写作工具
Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 对于硕士研究生来说,开题报告的 “难” 不止是写文字 —— 还要搭逻辑框架、凑够字数、匹配学校格式,甚至得做一份能讲清楚思…
天下工厂平台在数据隐私安全方面是如何提供保障的?
在B2B数据服务这个领域,用户常常会有这样的疑问:“要是提供了老板的手机号,是不是就会出现隐私泄露的问题?”针对这样的疑问,“天下工厂”平台自始至终都秉持着合法、公开、必要、最小化这四个重要原则,以此来保证数据…
工业CV项目AI部署方案模板
工业CV项目AI部署方案模板 文档版本:V1.0 编制日期:【YYYY-MM-DD】 适用场景:【如机器人3D无序抓取、高精度视觉定位、手眼标定引导、在线缺陷检测等】 文档用途:项目立项、方案评审、客户交付、部署实施指导 一、项目概述 1.1 项…