1. 題目
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