news 2026/6/10 15:58:08

【剑指Offer】026. 重排链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑指Offer】026. 重排链表

给定一个单链表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; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 10:12:43

计算机深度学习毕设实战-基于人工智能python深度学习的餐桌美食识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/21 14:24:01

全网最全专科生AI论文网站TOP9:开题报告文献综述必备

全网最全专科生AI论文网站TOP9&#xff1a;开题报告文献综述必备 2026年专科生AI论文写作工具测评&#xff1a;为何值得一看&#xff1f; 随着人工智能技术的不断发展&#xff0c;越来越多的专科生开始借助AI工具提升论文写作效率。然而&#xff0c;面对市场上琳琅满目的平台&a…

作者头像 李华
网站建设 2026/6/10 14:22:46

高通推出全套机器人技术组合,含 Dragonwing IQ10 系列处理器

2026年1月5日&#xff0c;拉斯维加斯——在国际消费电子展&#xff08;CES&#xff09;上&#xff0c;高通科技公司推出了下一代机器人综合架构&#xff0c;集成了硬件、软件和复合人工智能。高通科技还发布了其最新的高性能机器人处理器&#xff0c;面向工业AMR和先进的全尺寸…

作者头像 李华
网站建设 2026/6/4 15:20:09

电子器件烧毁的底层逻辑与避坑指南

电子器件的 “烧毁”&#xff0c;是电路设计与实际应用中最常见的故障之一。从小小的 LDO 稳压芯片到驱动电机的电调&#xff0c;看似不同的器件&#xff0c;烧毁的核心逻辑却高度相通 —— 本质都是器件的实际工作参数突破了自身的物理与热极限&#xff0c;且缺乏有效的保护机…

作者头像 李华
网站建设 2026/5/30 23:49:51

智慧城市运维管理平台解决方案

随着城市化进程加快&#xff0c;道路路灯、新能源充电桩、供排水泵站等公共设施越来越多&#xff0c;传统“人海巡查被动报修”的运维模式早已力不从心。设施分布分散、类型复杂、故障响应滞后、数据碎片化等痛点&#xff0c;不仅降低城市管理效率&#xff0c;更直接影响市民生…

作者头像 李华