当前位置: 首页 > web >正文

143. 重排链表

问题描述:

给定一个单链表 L 的头节点 head ,单链表 L 表示为:

L0 → L1 → … → Ln - 1 → Ln

请将其重新排列后变为:

L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …

不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

示例 1:

输入:head = [1,2,3,4]
输出:[1,4,2,3]

示例 2:

输入:head = [1,2,3,4,5]
输出:[1,5,2,4,3]

提示:

  • 链表的长度范围为 [1, 5 * 104]
  • 1 <= node.val <= 1000

上代码,拿去就可执行:

package onlyqi.daydayupgo06.leetcode;import java.util.Objects;public class leetcode143 {// 定义双向链表节点static class DLinkedNode {int value;DLinkedNode next;public DLinkedNode() {}public DLinkedNode(int _value) {value = _value;}public DLinkedNode(int _value, DLinkedNode _next) {value = _value;next = _next;}}public static void main(String[] args) {DLinkedNode dLinkedNode5 = new DLinkedNode(5);DLinkedNode dLinkedNode4 = new DLinkedNode(4, dLinkedNode5);DLinkedNode dLinkedNode3 = new DLinkedNode(3, dLinkedNode4);DLinkedNode dLinkedNode2 = new DLinkedNode(2, dLinkedNode3);DLinkedNode dLinkedNode1 = new DLinkedNode(1, dLinkedNode2);reorderList(dLinkedNode1);}public static void reorderList(DLinkedNode head) {DLinkedNode tail = head;while (!Objects.isNull(tail.next.next)) {tail = tail.next;}DLinkedNode curr = tail.next;tail.next = null;curr.next = head.next;head.next = curr;while (!Objects.isNull(head)) {System.out.println(head.value);head = head.next;}}}

我要刷300道算法题,第145道 。 尽快刷到200,每天搞一道  。 

http://www.xdnf.cn/news/20370.html

相关文章:

  • 2025.09.05 用队列实现栈 有效的括号 删除字符串中的所有相邻重复项
  • 2025高教社数学建模国赛C题 - NIPT的时点选择与胎儿的异常判定(完整参考论文)
  • MySQL数据库——事务、索引和视图
  • Linux基础指令(入门必备2.0)
  • B.50.10.06-NoSQL数据库与电商应用
  • 深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
  • nVisual从入门到精通—应用实例
  • 【51单片机8*8点阵显示箭头动画详细注释】2022-12-1
  • vim 常用快捷键汇总
  • 学习 Android (二十) 学习 OpenCV (五)
  • FastVLM-0.5B 模型解析
  • React Hooks UseCallback
  • Docker Registry 实现原理、适用场景、常用操作及搭建详解
  • CRYPT32!CryptMsgUpdate函数分析两次CRYPT32!PkiAsn1Decode的作用
  • Linux之Docker虚拟化技术(四)
  • 解决Vue Canvas组件在高DPR屏幕上的绘制偏移和区域缩放问题
  • Process Explorer 学习笔记(第三章3.2.1):主窗口与进程列表详解
  • 9.5C++作业
  • Ruoyi-vue-plus-5.x第五篇Spring框架核心技术:5.2 Spring Security集成
  • 使用PyTorch构建卷积神经网络(CNN)实现CIFAR-10图像分类
  • 1688 商品详情抓取 API 接口接入秘籍:轻松实现数据获取
  • LeetCode Hot 100 第11天
  • 微前端架构:解构前端巨石应用的艺术
  • 【Android】制造一个ANR并进行简单分析
  • Kotlin中抽象类和开放类
  • 《从报错到运行:STM32G4 工程在 Keil 中的头文件配置与调试实战》
  • CRYPT32!ASN1Dec_SignedDataWithBlobs函数分析之CRYPT32!ASN1Dec_AttributesNC的作用是得到三个证书
  • 垃圾回收算法详解
  • 《sklearn机器学习——回归指标2》
  • Java内部类