給定乙個鍊錶和乙個特定值 x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。
你應當保留兩個分割槽中每個節點的初始相對位置。
示例:找到第乙個》=給定值的節點(如例中的4),以後每遇到乙個小於給定值的節點,就把它放到4的前面輸入: head = 1->4->3->2->5->2, x = 3
輸出: 1->2->2->4->3->5
public listnode partition
(listnode head,
int x)
curnode = prenode;
while
(curnode.next!=null)
else
}return dummynode.next;
}
將所有小於給定值的節點組成乙個新鍊錶並從原列表中刪除,最後將原列表接在新鍊錶的後面
public listnode partition2
(listnode head,
int x)
else
} prev1.next = dummynode2.next;
prev2.next = null;
return dummynode1.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 新建兩個鍊錶,給定的特定值。對鍊錶分隔,將小於特定值的節點放在乙個鍊...