0
点赞
收藏
分享

微信扫一扫

【LeetCode】 86. 分隔链表


1. 题目

【LeetCode】 86. 分隔链表_数据结构

2. 分析

3. 代码

# 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]:
hl = None # head of less
hm= None # head of more
prehl = None
headHm = None
headHl = None
# 不停地遍历head 节点,然后不停地分配给hl / hm
while(head):
tmp = head.next
if head.val >= x:
if hm :
hm.next = head
hm = hm.next
else:
hm = head
headHm = hm
hm.next = None
else:
if hl:
hl.next = head
hl = hl.next
else:
hl = head
headHl = head
hl.next = None
head = tmp
# return headHm
if hl:
hl.next = headHm
else:
return headHm
return


举报

相关推荐

0 条评论