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

代码随想录 Day6

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

struct ListNode* swapPairs(struct ListNode* head) { if(head==NULL||head->next==NULL) return head; struct ListNode* p= NULL; struct ListNode *q=NULL; struct ListNode *pre=NULL; p=head; q=head->next; p->next=q->next; q->next=p; head=q; pre=head->next; while(p->next!=NULL) { p=p->next; if(p!=NULL) { q=p->next; if(q!=NULL) {p->next=q->next; q->next=p; pre->next=q; pre=pre->next->next;}} } return head; }

笔记:使用暴力解法,

if(q!=NULL), if(p!=NULL) 判断节点是否为空的条件

struct ListNode* p= NULL; 加星号

更简洁的方法:

struct ListNode* swapPairs(struct ListNode* head) { struct ListNode* dummy = (struct ListNode*)malloc(sizeof(struct ListNode)); dummy->val = 0; dummy->next = head; struct ListNode* pre = dummy; while (pre->next != NULL && pre->next->next != NULL) { struct ListNode* p = pre->next; struct ListNode* q = pre->next->next; pre->next = q; p->next = q->next; q->next = p; pre = p; } struct ListNode* newHead = dummy->next; free(dummy); return newHead; }
http://www.cnnetsun.cn/news/1314371.html

相关文章:

  • C++绘图:WindowsAPI 最后一代
  • 统计人专属!手把手教你 DIY 专属 VBA 统计插件000→窗体篇
  • 2026 AI风口下,普通人(含程序员/小白)可落地的高薪岗位指南
  • 计科-Linux4-中文件查看命令的详细介绍「整理」
  • PSO粒子群算法优化半主动悬架PID参数控制+被动悬架对比仿真
  • 小程序构建npm时报错应该如何解决
  • Algorithm - Quick Sort(Java)
  • Spring Cloud Circuit Breaker 2.0.0 M1(Milestone 1)是 Spring Cloud 官方在 2022 年初发布的
  • 计算机毕业设计Hadoop农产品价格预测 农产品销量分析 农产品价格分析 农产品可视化 农产品数据分析 农产品爬虫 农产品大数据 大数据毕设
  • Java程序员转行AI大模型:避坑指南+落地路径
  • 2026年C盘空间不足怎么清理临时文件?一键清理工具安全吗?
  • 【实时Linux工业PLC解决方案系列】第三十三篇 - 实时Linux PLC安全PLC功能实现
  • 好写作AI:本科生实验记录变论文初稿的4个神操作,理工科狂喜!
  • Rockstar WebAssembly部署终极指南:5步将摇滚程序带到浏览器
  • 终极无线安全测试指南:Social-Engineer Toolkit的airbase-ng和airmon-ng集成方案
  • Apache Weex移动端文件操作终极指南:快速实现读写本地文件
  • 为什么选择React Native Firebase Starter?10个核心优势深度剖析
  • 终极指南:Docusaurus状态管理的React Context和全局状态最佳实践
  • Rust无标准库开发:num库的no_std模式应用详解
  • 玩转Takahē自定义表情:创建、上传与跨服务器分享全攻略
  • 如何用DVA集成WebAssembly提升前端计算性能:终极优化指南
  • iOS应用色彩可访问性终极指南:使用Chameleon框架的5个关键技巧
  • 终极Magpie窗口缩放软件集成指南:10个实用技巧让应用协同工作更流畅
  • 从0到1构建离线Web应用:基于gh_mirrors/ap/application-shell的开发指南
  • awspec高级特性:自定义匹配器开发与复杂资源测试策略
  • 如何用awspec实现AWS基础设施即代码(IaC)的自动化测试
  • OpenSpeedy配置转换终极指南:从旧格式到新格式的完整迁移教程
  • OpenObserve告警通知终极指南:5种常用场景模板集合与配置方法
  • Shoelace Vue开发终极指南:构建企业级应用的10个最佳实践
  • 10个Latent Diffusion实用技巧:提升AI绘画质量的关键参数设置