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

LeetCode 刷题【86. 分隔链表】

86. 分隔链表

自己做

解:双指针法

/*** 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* partition(ListNode* head, int x) {ListNode* p = head;ListNode* q = head;ListNode* r1 = head;ListNode* r2 = head;while(q != nullptr && q->val < x){          //分割线p = q;                  //分割线前一位q = q->next;r1 = q;                 //移动结点前一位if(q != nullptr)r2 = q->next;           //移动结点elser2 = q;                 //如果q为空说明这个链表的边界就是末尾}while(r2 != nullptr){if(r2->val < x){   //找到要移动的目标值if(q == head){      //在头结点前插入,涉及头结点的更改head = r2;r1->next = r2->next;r2->next = q;p = head;r2 = r1->next;}else{p->next = r2;r1->next = r2->next;r2->next = q;p = p->next;r2 = r1->next;}}else{                   //继续找r1 = r2;r2 = r2->next;}}return head;}};

http://www.dtcms.com/a/393409.html

相关文章:

  • 回溯.专题
  • QML学习笔记(五)QML新手入门其三:使用Row和Colunm进行简单布局
  • 【视图功能11】视图权限控制与协作场景实践
  • YOLOv5至YOLOv12升级:交通标志识别系统的设计与实现(完整代码+界面+数据集项目)
  • 双指针算法案例:有序顺序表的交并差
  • syn和quote实现派生宏Builder
  • MQTT消息质量等级——QoS
  • 【OpenGL】shader 着色器
  • 给AI装上“眼睛”:Schema标记和技术性GEO实战部署
  • 中超-克雷桑破门 齐鲁德比泰山2-2遭海牛读秒绝平!
  • gitflow在公司的全流程
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘grpc’ 问题
  • C语言第17讲
  • 人机协同开发中的“深水炸弹”——指令上下文混淆
  • 朴素贝叶斯算法详解:原理、应用与实践
  • 强化学习的数学原理-02章 贝尔曼公式
  • C++:入门基础(2)
  • 数据架构章节考试考点及关系梳理
  • 用TRAE编程助手编写一个浏览器插件
  • 赋能工业未来:向成电子XC3576H工控主板多领域应用前景
  • Multi-Agent多智能体系统(三)
  • 【语法进阶】高级用法、贪婪与非贪婪
  • 15天见效的SEO优化方案
  • C语言基础【20】:指针7
  • IC 数字逻辑设计中的硬件算法 01 记
  • 《棒球运动联盟》国家级运动健将标准·棒球1号位
  • AAC 详解
  • 蚂蚁集团DIVER登顶BRIGHT榜首,开源多阶段推理检索范式
  • 2013/12 JLPT听力原文 问题四
  • 挑战与应对:轻量化 AI 算法的成长烦恼