【代码随想录 | 链表 03】两两交换链表中的节点

在这里插入图片描述

文章目录

  • 3.两两交换链表中的节点
    • 3.1题目
    • 3.2解法:虚拟头节点

3.两两交换链表中的节点

3.1题目

24.两两交换链表中的节点——力扣链接

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例 1:

img

  • 示例一:
输入:head = [1,2,3,4]
输出:[2,1,4,3]
  • 示例二:
输入:head = [1]
输出:[1]

3.2解法:虚拟头节点

  • 核心:适用虚拟头节点
  • 逻辑:每次循环分为三步(在此之前,需要保存第一个节点链接、以及链表后面节点的链接)
    • 头节点连接第二个节点
    • 第二个节点反转连接第一个节点
    • 第一个节点连接后面的链表节点
  • 如图:初始化

24.两两交换链表中的节点1

  • 操作之后:

24.两两交换链表中的节点2

	public ListNode swapPairs(ListNode head) {//使用虚拟头节点方法ListNode dummy=new ListNode(-1,head);ListNode cur=dummy;while(cur.next!=null && cur.next.next!=null){ListNode tmp1=cur.next;  //保存第一个节点ListNode tmp2=cur.next.next.next;cur.next=cur.next.next; //连接第二个节点cur.next.next=tmp1;      //反转,连接第一个节点cur.next.next.next=tmp2;   //连接后面的节点cur=cur.next.next;     //cur移动两位,下一个头节点}return dummy.next;}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/536954.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字孪生与智慧城市:实现城市治理现代化的新路径

随着信息技术的迅猛发展,智慧城市已成为城市发展的必然趋势。数字孪生技术作为智慧城市建设的重要支撑,以其独特的优势为城市治理现代化提供了新的路径。本文将探讨数字孪生技术在智慧城市中的应用,以及如何实现城市治理的现代化。 一、数字…

Games101笔记-变换

Scale Reflection Shear Rotate 没有额外提示默认绕原点旋转 线性变换 Transiation 不属于线性变换,仿射变换 齐次坐标 二维的点和向量增加一个维度 点加点等于两个点的中点 所有的仿射变换都可以写成齐次坐标的形式 在表示二维情况下的仿射变换时&#…

音视频开发之旅(75)- AI数字人进阶--GeneFace++

目录 1.效果展示和玩法场景 2.GeneFace原理学习 3.数据集准备以及训练的过程 5.遇到的问题与解决方案 6.参考资料 一、效果展示 AI数字人进阶--GeneFace(1) AI数字人进阶--GeneFace(2) 想象一下,一个专为你打造的…

[算法] 牛课题霸 - DP6 连续子数组最大和 - 动态规划

文章目录 题目链接解题过程思路一思路二 题目链接 DP6 连续子数组最大和 解题过程 思路一 两个for循环,遍历。 因为每个元素都要遍历两遍,所以时间复杂度O(n^2)。 简单的测试用例可以通过,但是提交时,一个巨大的数组用例&…

2024春秋蓝桥杯reverse——crackme01

尝试了下输入没有任何反应 查看——32位——IDA打开 我之前没怎么写过win32,所以我开始在string里面找flag,wrong,right什么的字符,都不行 然后我又在函数里面找main,也什么收获的没有,OK废话完了 在win32里面 关于弹窗的函数:…

Pytorch学习 day14(模型的验证步骤)

如何利用已经训练好的模型,验证它的结果,步骤如下: 步骤一:加载测试输入并更改为合适尺寸 保存图片到指定文件夹下,注意是否为同级目录注意:返回上一级目录为“…/xxx"有时,我们自己的输…

C++入门篇(2)

1. 内联函数 1.1 概念 C中&#xff0c;以 inline 修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。 #include <iostream> using namespace std;int Add(int…

DMSP夜间灯光卫星介绍和数据下载

DMSP(Defense Meteorological Sate-llite Program)是美国国防部的极轨卫星计划&#xff0c;与NOAA卫星同属于一类&#xff0c;只不过星上载荷不同。 DMSP卫星简介 现有DMSP为三轴姿态稳定卫星&#xff0c;运行在高度约830km的太阳同步轨道&#xff0c;周期约101min&#xff0c…

如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境

如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境 基于包管理器进行安装 Linux 会把一些软件包放到对应的服务器上&#xff0c;通过包管理器这样的程序&#xff0c;来把这些软件包给下载安装 ubuntu系统上的包管理器是 apt centos系统上的包管理器 yum 注&#xff1a;…

谈谈Darknet53为啥这么难训练

在我使用Imagenet2012对Darknet53进行预训练的时候&#xff0c;往往训练到一半&#xff0c;就会出现过拟合&#xff0c;导致无法继续向下训练&#xff0c;尝试了很多方法&#xff0c;最后发现问题出现在下图红框的部分。 得出这个结论是因为当我使用Resnet中&#xff0c;包含有…

医药大数据案例分析

二、功能 &#xff08;1&#xff09;流量分析 &#xff08;2&#xff09;经营状态分析 &#xff08;3&#xff09;大数据可视化系统 配置tomcat vim /root/.bash_profile添加以下内容&#xff1a; export CATALINA_HOME/opt/tomcat export PATH P A T H : PATH: PATH:CATALIN…

leetcode一天一题-第1天

为了增加自己的代码实战能力&#xff0c;希望通过刷leetcode的题目&#xff0c;不断提高自己&#xff0c;增加对代码的理解&#xff0c;同时开拓自己的思维方面。 题目名称&#xff1a;两数之和 题目编号&#xff1a;1 题目介绍&#xff1a; 给定一个整数数组 nums 和一个整数…