两两交换链表中的节点

news2024/11/16 19:57:38

题目描述

代码

/**
 * 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 *pre=head;
        ListNode *p=head;
        ListNode *q=head->next;
        while(q!=nullptr)
        {
            p->next=q->next;
            q->next=p;
//交换节点
            ListNode*tmp;
            tmp=p;
            p=q;
            q=tmp;
//交换节点名字 ,要不然后期挺麻烦
            if(pre!=head)
            pre->next=p;
            else
            head=p;
            pre=q;
//pre链接已经交换的下一个节点和pre的重置
            p=q->next;
            if(p!=nullptr)
            q=p->next;
            else
            break;
//判断后面是否还有继续下去的必要
//以及为下一对节点的交换做准备
        }
        return head;
    }
};

测试用例

 

提交结果

 

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

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

相关文章

【备战秋招】每日一题:4月15日美团春招:题面+题目思路 + C++/python/js/Go/java带注释

2023大厂笔试模拟练习网站(含题解) www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据,挂载到我们的OJ上,供大家学习交流,体会笔试难度。现已录入200道互联网大厂模拟练习题&a…

简单实用折叠面板可以折叠收起展开内容区域

前端简单实用折叠面板可以折叠收起展开内容区域, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id12860 效果图如下: 代码如下: # 简单实用折叠面板可以折叠收起展开内容区域。 #### 使用方法 使用方法 <!-- leftText:做标题 rigText:…

智能算法终极大比拼,以CEC2005测试函数为例,十种智能算法直接打包带走,不含任何套路!

包含人工蜂群(ABC)、灰狼(GWO)、差分进化(DE)、粒子群(PSO)、麻雀优化(SSA)、蜣螂优化(DBO)、白鲸优化(BWO)、遗传算法(GA)、粒子群算法(PSO)&#xff0c;基于反向动态学习的差分进化算法&#xff0c;共十种算法&#xff0c;直接一文全部搞定&#xff01; 由于上一篇代码&…

赋能矿山 | KaiwuDB 智慧矿山解决方案

行业背景 随着勘探和矿产开发技术的提高以及能源需求量的大幅增加&#xff0c;矿山开发速度持续加快。随之而来的诸多弊端&#xff0c;如矿山资源综合利用率低、管理方式粗放、安全和环境污染等问题日益突出&#xff0c;使得矿业智能化建设迫在眉睫。 近年来&#xff0c;政府…

【算法与数据结构】160、LeetCode相交链表

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;这道题题目蛮长的。说的大概意思就是对比指针地址&#xff0c;只要相等了&#xff0c;那就是相交节点。…

华为OD机试之执行时长(Java源码)

执行时长 题目描述 为了充分发挥GPU算力&#xff0c;需要尽可能多的将任务交给GPU执行&#xff0c;现在有一个任务数组&#xff0c;数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。 假设GPU最多一次执行n个任务&#xff0c;一次执行耗时1秒&#xff0c;在保证GPU不空…

论文解读 | 机器人路径跟踪的受控纯追踪法

原创 | 文 BFT机器人 01 摘要 这篇文章是关于机器人路径跟踪的受控纯追踪算法的研究。文章介绍了传统的纯追踪算法以及相关变体&#xff0c;并提出了受控纯追踪算法作为本文的主要贡献。该算法旨在适应实际环境中的服务和工业移动机器人&#xff0c;提供方法来调整机器人的平移…

关于spring boot报javax/servlet/MultipartConfigElement错误以及的问题

springboot在启动时报java.lang.NoClassDefFoundError: javax/servlet/MultipartConfigElement 解决方法&#xff1a;将pom.xml文件中的provided删掉

盛元广通生物化学重点实验室化学品信息化安全管理系统

生物化学重点实验室是国家基础研究和高技术研究的重要基地&#xff0c;是培养和造就高层次创新型人才的重要基地。为保障实验室化学品安全使用&#xff0c;实验人员可通过现场或移动端管理系统实现化学品安全使用与存储。盛元广通生物化学重点实验室化学品信息化安全管理系统具…

方波信号拆分及合成

1. 前言 数字处理器产生的都是方波信号&#xff0c; 做EMC会有各种高频率的辐射超标。比如下图为EMC测试辐射图&#xff0c;其中480MHz左右频率超标&#xff0c;那么就需要分析这个频率是谁产生的&#xff0c;但是整个系统都没有谁使用了这么高的频率信号。但是一般根据经验都知…

mysql-explain-其他

eq_ref 主键和唯一索引的所有部分被连接使用&#xff0c;最多只会返回一条符合条件的记录【主键关联查询】 ref: 根节点二分查找 没有使用唯一索引&#xff0c;而是走了普通索引【二级索引】或者唯一索引的部分前缀&#xff0c;有可能查出多个符合条件的行。 range 范围扫…

全网最全的Python教程(非常详细),从零基础入门到上岗!

Python的火&#xff0c;有目共睹。Python陆续登上了IEEE、PYPL排行榜单之首&#xff0c;对于Python的崛起TIOBE排行榜也给予了回应&#xff1a;由于全球流行度在过去一年中涨幅最高&#xff01; 同时人工智能的兴起&#xff0c;也给了Python无限可能&#xff0c;让Python越来越…

Systick实现中断-GD32

定时器中断-GD32 include "gd32f10x.h" #include "systick.h" #include "LED.h"volatile static uint32_t delay_reload; volatile static uint32_t delay_value;/*!\brief configure systick\param[in] none\param[out] none\retval …

asp.net试卷自动生成系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net试卷自动生成系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言开发 asp.net试卷自动生成系统VS开发sq…

Java 泛型:概念、语法和应用

文章目录 一、什么是 Java 泛型&#xff1f;二、为什么要使用泛型三、Java 泛型的语法四、Java 泛型的应用五、Java 泛型的示例六、总结 随着 Java 编程语言的不断发展和更新&#xff0c;Java 1.5 版本引入了一项全新的特性——Java 泛型&#xff08;Java Generic&#xff09;&…

Classic AUTOSAR专题 | I/O模块简介

书接上回&#xff0c;上期专题内容中小怿介绍了Classic AUTOSAR之存储模块&#xff0c;相信大家对存储以及NvM已经有了初步的认识了解。接下来我们将继续介绍Classic AUTOSAR专题之I/O模块&#xff0c;同时感兴趣的小伙伴还请持续关注后续内容~ 01 AUTOSAR I/O功能概述 I/O(Inp…

2023年6月DAMA-CDGA/CDGP数据治理工程师认证这里报名

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别、实体、关系、属性抽取实战项目合集(含智能标注)【下篇】

【深度学习入门到进阶】必看系列&#xff0c;含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍&#xff1a;【深度学习入门到进阶】必看系列&#xff0c;含激活函数、优化策略、损失函数、模型调优、归一化…

ZYNQ 7020 开发板开机检测

拿到开发板后检测开发板能否正常工作。 检测需要的工具&#xff1a;电脑、显示器(有HDMI接口)、HDMI线、鼠标、键盘、网线、USB转串口驱动软件。 在检测之前&#xff0c;先要在自己的电脑上安装好终端工具和USB转串口的驱动软件。 终端工具我安装的是 MobaXterm。 USB转串口的驱…