【1月打卡~Leetcode每日一題】86. 分隔連結串列(難度:中等)

dinosaurcity發表於2021-01-03

86. 分隔連結串列

給你一個連結串列和一個特定值 x ,請你對連結串列進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。
你應當保留兩個分割槽中每個節點的初始相對位置。

思路:遍歷
注意事項:連結串列題,一定一定自己畫一下圖,不然很容易出錯

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def partition(self, head: ListNode, x: int) -> ListNode:
        a,b = ListNode(0),ListNode(0)
        cura,curb = a,b
        while(head):
            if head.val<x:
                cura.next = head
                cura = cura.next
            else:        
                curb.next = head
                curb = curb.next
            head = head.next
        curb.next = None
        cura.next = b.next
        return a.next

相關文章