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

LeetCode24 两两交换链表中的节点

前言

题目: 24. 两两交换链表中的节点
文档: 代码随想录——两两交换链表中的节点
编程语言: C++
解题状态: 没画图,被绕进去了…

思路

思路还是挺清晰的,就是简单的模拟,但是一定要搞清楚交换的步骤,绕不清楚的时候最好画图来辅助解决问题。

代码

huatu

/*** 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(0);dummyHead -> next = head;ListNode* cur = dummyHead;while (cur -> next != nullptr && cur -> next -> next != nullptr) {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;}head = dummyHead -> next;delete dummyHead;return head;}
};
  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( 1 ) O(1) O(1)
http://www.lryc.cn/news/406755.html

相关文章:

  • AI OS
  • Dubbo 黑白名单机制详解
  • 配电房智能巡检机器人怎么选?
  • husky引发git commit报错的解决方案
  • 韩顺平0基础学Java——第37天
  • Layer2区块链扩容方案(1)——总述
  • AWS监控工具,监控性能指标
  • 义务外贸wordpress独立站主题
  • 初等数论精解【4】
  • MongoDB教程(二十二):MongoDB固定集合
  • 20240724----idea的Java环境卸载与安装
  • C语言 ——— 函数指针数组的讲解及其用法
  • 鸿蒙仓颉语言【cryptocj 库】(介绍与SHA、MD5、HMAC摘要算法)
  • 设计App的后端接口分类以及环境依赖包详情
  • 接入百度文心一言API教程
  • classfinal太强了,再也不怕被反编译了
  • DP-适配器模式代码重新理解
  • minio安装小计一则
  • # Redis 入门到精通(九)-- 主从复制(1)
  • SpringBoot整合ElasticSearch的elasticsearch-java出现jakarta.json.spi.JsonProvider报错问题
  • git 操作汇总【迭代更新中】
  • 看 Unity 组件的源码 —— ILSpy
  • Axivion Suite 7.8现已发布
  • 从零开始!JupyterNotebook的安装教程
  • 使用kali进行端口扫描
  • C#使用Clipper2进行多边形合并、相交、相减、异或的示例
  • Spring-Aop源码解析(二)
  • antdesgin table 组件下载成excel
  • MongoDB - 聚合阶段 $group 的使用
  • Flutter 插件之 easy_refresh(下拉刷新、上拉加载)