11 鍊錶分割

2021-09-24 12:20:26 字數 580 閱讀 4578

編寫**,以給定值x為基準將鍊錶分割成兩部分,所有小於x的結點排在大於或等於x的結點之前

給定乙個鍊錶的頭指標 listnode*phead,請返回重新排列後的鍊錶的頭指標。注意:分割以後保持原來的資料順序不變。

public listnode partition(listnode phead, int x) 

listnode small=new listnode(-1);

listnode large=new listnode(-1);

listnode shead=small;

listnode lhead=large;

while(phead!=null)else

phead=phead.next;

}small=shead;

while(small.next!=null&&small.next.val!=-1)

small.next=lhead.next;

return shead.next;

}public class listnode

}

牛客網 CM11 鍊錶分割

現有一鍊錶的頭指標 listnode phead,給一定值x,編寫一段 將所有小於x的結點排在其餘結點之前,且不能改變原來的資料順序,返回重新排列後的鍊錶的頭指標。建立兩個鍊錶,分別儲存大於x和小於x的結點,然後將兩個結點連線在一起 注意 建立的兩個煉表頭結點是沒有意義的 不使用 public cl...

鍊錶分割問題

題目 編寫 以給定的x為基準值將鍊錶分割成兩部分,所有小於x的結點排在大於或等於x的結點之前。解法一 交換結點法,回想學習快速排序的時候,也是以基準值將一組數劃分成兩部分,小於基準值的排在前面,大於基準值的排在後半部分。因此解決這個問題也可以使用兩個指標。如果煉表頭結點開始遍歷,第乙個需要移動的結點...

leecode分割鍊錶

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