小黑做法:硬做

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:# 添加辅助结点head = ListNode(next = head)# 前指针pre_linkpre_link = head# 后指针linklink = head.next# 辅助数组temp_arr = []# 两个指针不停地移动while link:# 出现大于等于x的数字时停止if link.val >= x:breaklink = link.nextpre_link = pre_link.next# 前指针a_link指向第一个大于等于x的数a_link= pre_link.next# 如果没有大于等于x的数字则直接返回if not link:return head.next# 后指针b_linkb_link = link.nextarr = []while b_link:# 小于x的数字放入arr,并在链表中删除if b_link.val < x:arr.append(b_link)a_link.next = b_link.nextelse:a_link = a_link.nextb_link = b_link.next# arr中元素插入到pre_link后link_arr = pre_linkfor node in arr:link_arr.next = nodelink_arr = link_arr.nextlink_arr.next = linkreturn head.next

模拟法

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:# 小结点small_head = ListNode()small = small_head# 大结点big_head = ListNode()big = big_headwhile head:if head.val  x:small.next = headsmall = small.nextelse:big.next = headbig = big.nexthead = head.nextsmall.next = big_head.nextbig.next = Nonereturn small_head.next

小黑生活

下午要去朝阳公园跑步,喝喜茶!!!

小黑leetcode之旅:86. 分隔链表相关推荐

  1. 【LeetCode】86. 分隔链表

    86. 分隔链表 题解 这题不难,事先准备两个链表,遍历题目给的链表,将小于x和大于等于x的两类数据分别放到准备好的链表中,然后两个链表拼接即可: 注意点: 链表在创建增加的时候,游走的那个指针在当前 ...

  2. 86. 分隔链表 golang

    86. 分隔链表 只把小的放在一边,大于的不用放到右边(这个题的题目比较晦涩,很多人说看不懂题,我也没看懂,解法也没什么特殊,半天没读懂题,看了别人的解法) 给定一个链表和一个特定值 x,对链表进行分 ...

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

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

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

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

  5. Leetcode 86. 分隔链表

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

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

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

  7. 小黑迷茫抑郁中的leetcode之旅:19. 删除链表的倒数第 N 个结点

    小黑代码 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): ...

  8. 86. 分隔链表(JS实现)

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

  9. LeetCode上最难的链表算法题,没有之一

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 该题在 LeetCode 官网上有关于链表的问题中标注为最难的一道题目:难度为 Hard ,通过率在链表 Hard 级别目前最低 ...

最新文章

  1. 《系统集成项目管理工程师》必背100个知识点-77配置审计的功能
  2. 看完这些福利才知道,为什么说双12一定要出去浪
  3. [转载] Python3.X 线程中信号量的使用方法示例
  4. 12.混淆——数字音频采样,混淆,反混淆,脉冲序列_2
  5. 计算机学院毕业典礼口号,毕业典礼口号
  6. webbrowser控件 加载为空白_深入学习SAP UI5框架代码系列之一:UI5 Module的懒加载机制...
  7. centos 关闭命令行警报声
  8. Google 中国招聘啦
  9. 自己动手一步步安装Linux系统
  10. 常见花材的固定的方法有哪些_固定无梁拱形屋顶的方法都有哪些呢?
  11. 对select标签中的option默认选中后端的数据
  12. RAID磁盘阵列与磁盘阵列卡
  13. word中脚注和尾注的处理
  14. Mathtype安装教程(mathpage.wll文件未找到)
  15. .net 2.0安装包打不开_Android——bilibili缓存视频合并教程[2.0]
  16. RVT贴片铝电解电容规格
  17. virtualBox提高性能方法
  18. Python生成器的throw和close方法
  19. 【实用小工具】如何用Python语音合成,以及文字转语音~
  20. 应用实战|微信小程序开发示例之在线商城

热门文章

  1. vue路由导航守卫控制访问权限
  2. 从零到一,这些有趣的算法畅销书,你看过吗?
  3. ESET ESET NOD32 安全套装设置图文教程
  4. 沈阳html5培训学校,沈阳哪个web培训好(web前端开发)
  5. js与jquery获取子节点、父节点、兄弟节点的方法
  6. C++11实现argsort功能
  7. 性能堪比iPhone4 苹果iPod touch4对比评测
  8. c4d物体自发光_C4D怎么绘制发光小球并渲染GI?
  9. OSChina 周二乱弹 —— BUG 无处不在,你找到了吗?
  10. c语言软件的思想,C语言设计思想01