给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。
例如
输入:head = [1,4,3,2,5,2], x = 3
输出:[1,2,2,4,3,5]
LeetCode链接

维护两个链表,再组合。

/*** 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* small = nullptr;//比x小的ListNode* smallHead = nullptr;ListNode* large = nullptr;//比x大的ListNode* largeHead = nullptr;while (head != nullptr) {if (head->val < x) {if(smallHead == nullptr)//小头{smallHead = head;small = smallHead;}else{small->next = head;small = small->next;}} else {if(largeHead == nullptr)//大头{largeHead = head;large = largeHead;}else{large->next = head;large = large->next;}}head = head->next;}if(large){large->next = nullptr;}if(small){small->next = largeHead;return smallHead;} return largeHead;}
};

LeetCode提交了几次,都不一样

LeetCode-86相关推荐

  1. 【技巧】LeetCode 86. Partition List

    LeetCode 86. Partition List Solution1: 我的答案,时间复杂度O(n)O(n)O(n),空间复杂度O(n)O(n)O(n) /*** Definition for ...

  2. LeetCode 86分割链表87扰乱字符串

    微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...

  3. LeetCode 86题

    给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前.你应当 保留 两个分区中每个节点的初始相对位置. 示例 1: 输 ...

  4. LeetCode 86. 分隔链表 中等难度

    题目 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前.你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1->4- ...

  5. 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)

    给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前.你应当 保留 两个分区中每个节点的初始相对位置.示例 1:输入: ...

  6. [LeetCode] 86. Partition List Java

    题目: Given a linked list and a value x, partition it such that all nodes less than x come before node ...

  7. Leetcode 86. 分隔链表

    给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1->4-&g ...

  8. leetcode 86. 分隔链表(链表)

    给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入:head = 1-> ...

  9. leetcode 86

    先找到第一个大于等于target的数p,然后从这个数开始往后遍历链表,若比target小则放在p之前 ListNode* partition(ListNode* head, int x) {ListN ...

  10. 每周leetcode - 02链表专题 237/83/234/138/92/142/Offer 22/148/23/24/147/86/61/328/2/Offer06

    文章目录 leetcode - 237. 删除链表中的节点 leetcode - 83. 删除排序链表中的重复元素 leetcode - 234. 回文链表 leetcode - 138. 复制带随机 ...

最新文章

  1. 2014年国内最热门的.NET开源平台
  2. 【rnnoise快速体验】rnnoise从编译到训练
  3. UNICODE_STRING 总结
  4. mysql 表结构关系_mysql 表关系 与 修改表结构
  5. Android开发UI之Fragment-Tabbed Activity的使用
  6. XML 读写(命名空间)
  7. HDU 4777 Rabbit Kingdom 树状数组
  8. Linux系统中用stat命令查看文件的三个时间属性
  9. 仅 1 年 GitHub Star 数翻倍,Flink 做了什么?
  10. [C#]通过ARP获取Mac与IP的对应表
  11. 阿里云企业上云最佳实践方案
  12. java多重if 嵌套if_流程控制之if、多重if、嵌套
  13. 实用的网页模板(一)
  14. python 一维数据和二维数据的存储,表达和处理
  15. android抽屉效果
  16. java学期总结_JAVA学期总结
  17. Win32_Keyboard 键盘 参数说明
  18. 【题解】昂贵的聘礼 POJ - 1062 (最短路 经典)⭐⭐⭐⭐
  19. Latex 排版相关(一)
  20. python爬取微博评论点赞数_Python selenium爬取微博数据代码实例

热门文章

  1. 系统架构师(十)设计模式
  2. 微趣能Weiqn(微信源码下载)V1.5.0.2beta官方版
  3. Sort of sort
  4. 【kafka】kafka 消费数据的时候 报错 (Re-) join group
  5. WebGL--vue+openlayers实现覆盖物+popup
  6. 2021年安全员-B证(广西省)考试报名及安全员-B证(广西省)考试试卷
  7. Cesium视频融合
  8. Python有趣小程序,轻松向靓仔打招呼~
  9. CAD的坐标输入方式有哪些
  10. ASEMI代理ADG736BRMZ-REEL7原装ADI车规级ADG736BRMZ-REEL7