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

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

题目描述

代码

/*** 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 *dummyHead = new ListNode(-1,head);ListNode *pre = dummyHead;ListNode *newHead = nullptr;ListNode *post;while(pre->next != nullptr && pre->next->next != nullptr){ListNode *pair1 = pre->next;ListNode *pair2 = pre->next->next;if(newHead == nullptr)newHead = pair2;post = pair2->next;pair2->next = pair1;pair1->next = post;pre->next = pair2;pre = pair1;}delete dummyHead;dummyHead = nullptr;return newHead;}
};
http://www.dtcms.com/a/173827.html

相关文章:

  • Nacos源码—4.Nacos集群高可用分析三
  • 华为私有协议Hybrid
  • Java实用注解篇: @JSONField
  • Open CASCADE学习|判断一点与圆弧的位置关系
  • 掌握NuGet包管理工具:从基础到进阶的全面指南
  • 无人机相关技术与故障排除笔记
  • AI Agent开发第57课-AI用在销售归因分析场景中-用随机森林从0构建自己的“小模型”
  • Docker安装使用
  • 2、实验室测控系统 - /自动化与控制组件/lab-monitoring-system
  • Kotlin-解构声明
  • Kotlin重构Android项目实践
  • 【SaaS安全】数据加密与用户身份管理
  • 前端、XSS(跨站脚本攻击,Cross-Site Scripting)
  • ORCAD打印pdf
  • HTTP与HTTPS协议深入解析
  • 人工智能对人类的影响
  • LabVIEW燃气轮机测控系统
  • tinyrenderer笔记(Shadow Mapping)
  • 应对联网汽车带来的网络安全挑战
  • C++中map和unordered_map的区别是什么?
  • Elasticsearch知识汇总之ElasticSearch部署
  • jenkins访问端口调整成80端口
  • OpenAI的“四面楚歌”:从营利到非营利,一场关于AGI控制权的革命
  • idea使用lombok错误,找不到符号,明明编译没问题,运行报错
  • list的使用及模拟实现
  • 玛格丽特鸡尾酒评鉴,玛格丽特酒的寓意和象征
  • 内存种类详解
  • create-vue搭建Vue3项目(Vue3学习2)
  • 使用BlockingQueue简化Java中的生产者-消费者问题
  • 逻辑越权--水平垂直越权(WEB漏洞)