leetcode86 分隔鍊錶

2021-09-11 22:11:18 字數 1061 閱讀 7227

給定乙個鍊錶和乙個特定值 x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。

你應當保留兩個分割槽中每個節點的初始相對位置。

示例:輸入: head = 1->4->3->2->5->2, x = 3

輸出: 1->2->2->4->3->5

分開再合併:

# 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:

left, right = listnode(0)

, listnode(0)

node1, node2 = left, right

while head:

if head.val < x:

node1.

next

= head

head = head.

next

# 注意要在這裡加,若最後加就為空

node1 = node1.

next

node1.

next

=none

else

: node2.

next

= head

head = head.

next

node2 = node2.

next

node2.

next

=none

node1.

next

= right.

next

return left.

next

Leetcode86 分隔鍊錶

題目描述 給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5演算法描述 此題有兩種解法,第一種就是將所有小於給定值的節點取...

leetcode86 分隔鍊錶

給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 把所有小於給定值的節點都移到前面,大於該值的節點順序不變。將所有小於給...

leetcode86分隔鍊錶

給定乙個鍊錶和乙個特定值 x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 新建兩個鍊錶,給定的特定值。對鍊錶分隔,將小於特定值的節點放在乙個鍊...