LintCode 鍊錶劃分

2021-07-29 07:06:28 字數 587 閱讀 5103

題目描述:

給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。

你應該保留兩部分內煉表節點原有的相對順序。

樣例 給定鍊錶 1->4->3->2->5->2->null,並且 x=3

返回 1->2->2->4->3->5->null

思路分析:

題意搞懂了就很簡單了。

ac**:

/**

* definition of listnode

* class listnode

* }*/class

solution

if(temp!=null&&temp->next!=null)

//找到分界線右側小於x的值的結點,將其存在cur中。

while(cur!=null)

//如果找到的話將其插入到分界線以前的第乙個位置

if(cur!=null)

}temp=dummy;

dummy=dummy->next;

free(temp);

return dummy;

}};

LintCode 鍊錶劃分

容易 鍊錶劃分 檢視執行結果 29 通過 給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。你應該保留兩部分內煉表節點原有的相對順序。您在真實的面試中是否遇到過這個題?yes 樣例 給定鍊錶 1 4 3 2 5 2 null,並且 x 3 返回 1 2 2 4 3 5 n...

鍊錶劃分 LintCode

描述 給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。你應該保留兩部分內煉表節點原有的相對順序。樣例 給定鍊錶 1 4 3 2 5 2 null 並且 x 3 返回1 2 2 4 3 5 null 思路 這個題我們可以建立兩個新的鍊錶left和right 遍歷給定鍊錶,...

Lintcode 鍊錶劃分

給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。你應該保留兩部分內煉表節點原有的相對順序。解釋 本道題目我的解法是先遍歷鍊錶,對於小於x的節點資料域壓入pre陣列中,其餘節點資料域壓入last陣列,然後將pre和last分別順序不變壓入result陣列中,最後再遍歷鍊錶...