題目描述:
給定乙個單鏈表和數值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陣列中,最後再遍歷鍊錶...