【链表】Leetcode 两两交换链表中的结点

news2024/9/24 9:28:33

题目讲解

24. 两两交换链表中的节点
在这里插入图片描述


算法讲解

在这里插入图片描述
只需要模拟这个过程就行了,但是需要注意空指针的问题,特别是nnext指针

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        if(head == nullptr || head->next == nullptr)return head;
        ListNode* newhead = new ListNode(-1);
        newhead->next = head;
        ListNode* prev = newhead;
        ListNode* cur = head;
        ListNode* Next = head->next;
        ListNode* nnext = Next->next;
        while(cur && Next)
        {
            prev->next = Next;
            Next->next = cur;
            cur->next = nnext;
            prev = cur;
            cur = nnext;
            if(cur)Next = cur->next;
            if(Next)nnext = Next->next;
        }
        prev = newhead->next;
        delete newhead;
        return prev;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?

通义灵码入职阿里云云原生团队后,已经展示过 Ta 生成单元测试和自动生成代码的强大实力。今天,阿里云后端工程师云徊将从项目开发的实际需求出发,演示通义灵码在开发工作中可提供的帮助。 通义灵码在 Git 开发项目中起到了哪些作用&#xff…

IntelliJ IDEA - Lombok supports: OpenJDK javac, ECJ

问题描述 java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy26Lombok supports: OpenJDK javac, ECJ 解决方案 在 IDEA 设置中 File -> Settings 中找到配置如下&#xff1…

医学影像增强:空间域方法与频域方法等

医学影像图像增强是一项关键技术,旨在改善图像质量,以便更好地进行疾病诊断和评估。增强方法通常分为两大类:空间域方法和频域方法。 一、 空间域方法 空间域方法涉及直接对医学影像的像素值进行操作,以提高图像的视觉质量。以下是一些常用的空间域方法: 对比度调整:通过…

【Web】2022DASCTF MAY 出题人挑战赛 题解(全)

目录 Power Cookie 魔法浏览器 getme hackme fxxkgo ezcms Power Cookie 点击login in by guest后响应头给set了一个admin0的cookie 魔法浏览器 看到魔法UA 直接在console输出即可 改UA,拿到flag getme 右键查看源码 抓包看到响应头,Apache版本…

文旅IP孵化打造抖音宣传推广运营策划方案

【干货资料持续更新,以防走丢】 文旅IP孵化打造抖音宣传推广运营策划方案 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT可编辑(完整资料包含以下内容) 目录 文旅IP抖音运营方案 1. 项目背景与目标 - 背景&#xff1a…

uniapp IOS上架AppStore因打开相机、相册提示不明确被拒

被拒原因: 提示说红框标识的权限说明不够明确,否则用户不知道问什么要访问这个权限。 解决方案: 只需要我们再次打包ios的时候在manifest.json文件里,所用到权限的地方重新填写一下使用说明,再次打包提交审核即可。

Jenkins CI/CD 持续集成专题一 Jenkins的安装和配置

一 jenkins 官方教程 安装Jenkins 二 安装 2.1 安装方式一 通过安装包的package方式安装 第一步下载链接: Download the latest package 第二步操作方式:打开包并按照说明操作即可安装 2.2 安装方式二 brew安装 第一 安装最新版本jenkins brew in…

【Spring进阶系列丨最终篇】一文详解Spring中的事务控制

0、说明 本篇文章是【Spring进阶系列】专栏的最后一篇文章,至此,我们对Spring的学习就告一段落,接下来我会持续更新【SpringSpringMVCMyBatis整合】专栏,欢迎免费订阅! 文章目录 0、说明 一、Spring事务控制1、事务的环…

集创赛Robei杯——Robei八角板7020简介

官方介绍 若贝八角板是一款FPGA开发板,可以用于系统设计与教育教学、竞赛、IC验证、系统控制、挖矿、云计算等用途,板子整体呈现正八角形,尺寸非常小,68x68mm,手掌心大小。虽然板子很小,但是功能齐全&#…

数据结构(邓俊辉)学习笔记——向量vector_01_接口与实现

文章目录 0.意图1、概述2 从数组到向量3 向量ADT接口4 Vector 模板类5 构造与析构5.1默认构造方法5.2基于复制的构造方法5.3 析构方法 0.意图 一方面是将工作学习中零星的知识点串起来,另一方面向量是其他数据类型的基础,比如栈队列等,所以基…

五种服务异步通信(MQ)-详解、代码案例

简介:本篇文章主要是介绍了常用的异步通信原理,主要是RabbitMQ技术 目录 1、初始MQ(异步通讯) 1.1 同步通讯 1.2 异步通讯 1.3 MQ常见框架 2、RabbitMQ快速入门 2.1 RabbitMQ概述和安装 2.2 常见消息模型 2.3 快速入门 3、…

【华为 ICT HCIA eNSP 习题汇总】——题目集18

1、SSH默认工作使用的TCP端口号是()。 A、20 B、21 C、22 D、23 考点:①传输层 ②应用层 解析:(C) SSH为建立在应用层和传输层上的安全协议,是对TCP/IP协议的传输层以上的SSH会话流程进行加密的…

数字时代的社交王者:探索Facebook的社交帝国

引言:社交媒体的霸主 在数字化浪潮席卷全球的当下,社交媒体已然成为人们日常生活中不可或缺的一部分,而Facebook则是这个领域的不二之选。作为全球最大的社交网络,Facebook不仅拥有庞大的用户群体,更在技术创新、社会…

System Dashboard for Mac:强大的系统监控与管理工具

System Dashboard for Mac是一款专为苹果电脑设计的系统监控与管理工具,以其直观易用的界面和全面的功能,深受用户喜爱。 System Dashboard for Mac v1.10.11激活版下载 这款软件能够实时监测系统的重要参数,包括CPU使用率、内存利用率、硬盘…

Acer宏碁掠夺者战斧300笔记本电脑PH315-52工厂模式原装Win10系统安装包 恢复出厂开箱状态 带恢复重置

宏碁掠夺者PH315-52原厂Windows10工厂包镜像下载,预装oem系统 链接:https://pan.baidu.com/s/1grmJzz6nW1GOaImY_ymXGw?pwdi286 提取码:i286 原厂W10系统自带所有驱动、PredatorSense风扇键盘控制中心、Office办公软件、出厂主题壁纸、系统…

OpenHarmony开发实例:【电话簿联系人Contacts】

样例简介 Contacts应用是基于OpenHarmony SDK开发的安装在润和HiSpark Taurus AI Camera(Hi3516d)开发板标准系统上的应用;应用主要功能是展示联系人列表,并点击某一列弹出联系人详细信息; 运行效果 样例原理 样例主要有一个list组件和dia…

unknown option ‘--variant=xxx‘

进行react native开发,启动项目时,出现如上报错时,试着用‘mode’代替variant即可 详细说明: 修改scripts命令,加入–variantdevDebug 终端运行对应命令,报如下的错 error: unknown option --variantdevDebug如图&am…

个人网站的SEO优化系列——如何实现搜索引擎的收录

如果你自己做了一个网站,并且想让更多的人知道你的网站,那么无非就是两种途径 一、自己进行宣传,或者花钱宣传 二、使用搜索引擎的自然流量 而如果搜索引擎都没有收录你的站点,别说是自然流量,就算是使用特定语句【sit…

在誉天学习云计算HCIE,担心考试考不过?

誉天定制化课程内容覆盖了所有考试重点,可以系统地掌握理论与实践知识。 对于笔试,类似于备考驾照理论学习阶段,誉天为大家提供在线模拟测试系统,帮助大家掌握云计算笔试考点。笔试通过后,18个月内(一年半…

函数模版实例化

目录 一、前言 二、 什么是C模板 💦泛型编程的思想 💦C模板的分类 三、函数模板 💦函数模板概念 💦函数模板格式 💦函数模板的原理 💦函数模板的实例化 🍎隐式实例化 🍉显式实例化 …