一次過 Lintcode 96 鍊錶劃分

2021-08-19 14:28:25 字數 627 閱讀 1734

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

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

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

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

可將整個鍊錶先分離為兩個小的鍊錶。我們建立minlist和maxlist,分別儲存小於x的元素和不小於x的元素。遍歷原鍊錶,將其中的元素根據其val分別加入對應的鍊錶。最後將minlist的最後乙個元素與maxlist的煉表頭相連即可。leftdummy的最後乙個元素與

rightdummy的煉表頭相連即可。

/**

* definition for listnode

* public class listnode

* }*/public class solution else

head = head.next;

}leftnode.next = rightdummy.next;

rightnode.next = null;

return leftdummy.next;

}}

lintcode 96 鍊錶劃分

1.給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。你應該保留兩部分內煉表節點原有的相對順序。2.完全沒有思路.3.definition of listnode class listnode class solution else cur cur next lastsm...

lintCode 96 鍊錶劃分

題目本身難度不到,只想講一些關於鍊錶的操作。這裡看了幾篇部落格,寫得好的使用了乙個小技巧 在新鍊錶list的頭部多分配了乙個節點的空間,從而簡化了接下來對於鍊錶的操作,這又什麼好處呢?最後返回的的時候,返回list next就行,然而由於這個新鍊錶具有自己的資料空間因此,就可以在這個新煉表上直接操作...

一次過 Lintcode 904 加一鍊錶

給定乙個非負整數,這個整數表示為乙個非空的單鏈表,每個節點表示這個整數的一位。返回這個整數加一。除了0本身,所有數字在最高位前都沒有0。列表的頭節點存的是這個整數的最高位。給出鍊錶1 2 3 null,返回1 2 4 null。因為可能頭節點會變化,所以設定dummy結點,特別地,將dummy.va...