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

C语言 | Leetcode C语言题解之第143题重排链表

题目:

题解:

struct ListNode* middleNode(struct ListNode* head) {struct ListNode* slow = head;struct ListNode* fast = head;while (fast->next != NULL && fast->next->next != NULL) {slow = slow->next;fast = fast->next->next;}return slow;
}struct ListNode* reverseList(struct ListNode* head) {struct ListNode* prev = NULL;struct ListNode* curr = head;while (curr != NULL) {struct ListNode* nextTemp = curr->next;curr->next = prev;prev = curr;curr = nextTemp;}return prev;
}void mergeList(struct ListNode* l1, struct ListNode* l2) {struct ListNode* l1_tmp;struct ListNode* l2_tmp;while (l1 != NULL && l2 != NULL) {l1_tmp = l1->next;l2_tmp = l2->next;l1->next = l2;l1 = l1_tmp;l2->next = l1;l2 = l2_tmp;}
}void reorderList(struct ListNode* head) {if (head == NULL) {return;}struct ListNode* mid = middleNode(head);struct ListNode* l1 = head;struct ListNode* l2 = mid->next;mid->next = NULL;l2 = reverseList(l2);mergeList(l1, l2);
}
http://www.lryc.cn/news/369316.html

相关文章:

  • 探寻性能优化:如何衡量?如何决策?
  • Python Django 5 Web应用开发实战
  • H.264官方文档下载
  • minio多节点部署
  • 2024年工业设计与制造工程国际会议(ICIDME 2024)
  • 一次曝 9 个大模型,「字节 AI」这一年都在做什么?
  • PR基本概念数学知识
  • 信驰达蓝牙数字钥匙方案持续创新,助推智慧汽车生态发展
  • 校园生活服务平台的设计
  • gerrit 使用
  • 【GD32F303红枫派使用手册】第十二节 ADC-双轴按键摇杆多通道循环采样实验
  • Rust-03-数据类型
  • 代理IP使用api接
  • C++中的适配器模式
  • MySQL入门学习-聚合和分组.最大值(MAX()函数)
  • LLM大语言模型(十六):最新开源 GLM4-9B 本地部署,带不动,根本带不动
  • 【JVM】JVM 的内存区域
  • intel新CPU性能提升68%!却在内存上违反祖训
  • stm32MP135裸机编程:修改官方GPIO例程在DDR中点亮第一颗LED灯
  • 探索乡村振兴新模式:发挥科技创新在乡村振兴中的引领作用,构建智慧农业体系,助力美丽乡村建设
  • 机器学习笔记:focal loss
  • Python编程:解锁超能力,开挂人生!
  • TSINGSEE青犀视频:城市道路积水智能监管,智慧城市的守护者
  • 几款免费又好用的项目管理工具(甘特图)
  • 落地台灯什么牌子的比较好?五款适合学生使用的大路灯分享
  • (免费领源码)基于 node.js#vue#mysql的网上游戏商城35112-计算机毕业设计项目选题推荐
  • [2024-06]-[大模型]-[Ollama] 0-相关命令
  • Image组件无法设置长按事件
  • 计算机网络 —— 数据链路层(VLAN)
  • Redis基本操作介绍