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

day16 leetcode-hot100-30(链表9)

24. 两两交换链表中的节点 - 力扣(LeetCode)

1.模拟法

思路

模拟题目要求进行两两交换,但有一点需要注意,比如交换3与4后,1仍然指的是3,这是不正确的,所以1指针的next也需要修改,所以每次模拟是操作3个节点。

具体思路

(1)创建哨兵节点dump,减少除了头节点这个特殊情况,dump用于返回,再创建temp进行模拟。

(2)当temp.next与temp.next.next只要有一个为null就不进行循环。

(3)修改n1,n2,temp的next,使其满足要求,先让n1指向n2.next,防止节点丢失。

具体代码
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode swapPairs(ListNode head) {ListNode dump = new ListNode(0,head);ListNode temp = dump;while(temp.next!=null && temp.next.next!=null){ListNode n1 =temp.next;ListNode n2 =temp.next.next;n1.next=n2.next;n2.next=n1;temp.next=n2;temp=n1;}return dump.next;}
}

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

相关文章:

  • 【模拟电子电路-学习链接】
  • 嵌入式项目之mini2440系统制作烧写
  • CppCon 2014 学习:ASYNC SEQUENCES AND ALGORITHMS
  • 各种乱码问题解决措施
  • 【染色归一化】staintools工具详讲
  • 2025年进口床垫品牌推荐榜单:精选优质床垫,开启舒适睡眠之旅
  • Git深入解析功能逻辑与核心业务场景流程
  • 剑指offer13_剪绳子
  • 头歌数据库课程实验(角色管理)
  • 球展世界,筑梦中原,2025郑州台球展会,年中招商即将开启
  • 《汇编语言》第13章 int指令
  • Linux系统隐藏鼠标指针
  • 使用西门子博图V16时遇到了搜索功能报错的问题,提示缺少SIMATIC Visualization Architect组件怎么办,全网首发
  • 算法学习--持续更新
  • C++11 智能指针:从原理到实现
  • 为什么有的编程语言允许字符串和整数相加?字符串和整数比较?字符串拼接?格式串详解?字面量?
  • leetcode刷题日记——二叉树的层平均值
  • python库 PyYAML 详细使用
  • day62—DFS—太平洋大西洋水流问题(LeetCode-417)
  • 2024年12月 C/C++(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • vue3路由跳转的三种方式
  • 利用多进程定时播放,关闭音乐播放器
  • go环境配置
  • 深入剖析C#构造函数执行:基类调用、初始化顺序与访问控制
  • UNION 与 UNION ALL 的区别
  • DAY 36 超大力王爱学Python
  • 设计模式——外观设计模式(结构型)
  • 力扣上C语言编程题
  • LangGraph(八)——LangGraph运行时
  • K3s简介、实战、问题记录