topic 1 反轉鍊錶
reverse linked list ii
在第m~n個節點中反轉單鏈表,注意這道題可以把**寫得很長,如果分為區間一[0,m-1],區間二[m-n],區間三[n+1,end]這三個區間的話。也可以寫得很短,如果仔細觀察發現其實只需要考慮第乙個區間是否為null就可以了。
reverse nodes in k group
每k個節點為乙個單位,反轉第1個單位之後,反轉第2個單位,反轉第i個單位,反轉最後乙個單位,如果最後乙個單位不足k個,就不進行反轉。非常有意思的一道題目,依然可以寫得很短,也可以寫得很長。如果你用遞迴的辦法去寫,可以很快寫完。如果你用迭代的辦法去寫,都會比較長。不管是否是呼叫了reverse linked list ii中的函式,或者直接寫乙個大迴圈。
reorder list
仔細觀察後,發現本題的規律是,把鍊錶後半段反轉,然後依次插入到鍊錶的前半段。
rotate list
旋轉鍊錶。
topic 2 從陣列排序遷移到鍊錶排序
insertion sort list
用鍊錶來模擬插入排序
partition
用鍊錶來模擬快排中的partition
sort list
用鍊錶來進行歸併排序,完成時間複雜度為o(n lgn),空間複雜度為o(1)的排序
merge two sorted lists
歸併兩個已經排好序的鍊錶
merge k sorted lists
歸併k個已經排好序的鍊錶
topic 3 環形鍊錶
linked list cycle
判斷乙個鍊錶是否有環
linked list cycle ii
如果乙個鍊錶有環,找到環的起始位置
topic 4 其它問題
copy list with random pointer
拷貝鍊錶,鍊錶的節點除了有next指標,還有random指標,指向任意乙個點。
remove nth node from end of list
刪除從後向前數的第n個節點
remove duplicates from sorted list
去掉鍊錶中的重複元素,使得原來鍊錶中的所有元素都出現並且只出現一次。
remove duplicates from sorted list ii
去掉鍊錶中的重複元素,使得原來鍊錶中的非重複元素都出現並且只出現一次,重複元素不出現。
4 鍊錶元件 LeetCode 817
問題描述 給定煉表頭結點 head,該鍊錶上的每個結點都有乙個唯一的整型值 同時給定列表 g,該列表是上述鍊錶中整型值的乙個子集。返回列表 g 中元件的個數,這裡對元件的定義為 鍊錶中一段極長連續結點的值 該值必須在列表 g 中 構成的集合。極長的含義是 這段連續結點的前面或後面結點不屬於g。示例 ...
鍊錶專題 4 鍊錶
鍊錶是一大堆節點合起來連起來組成的表的總稱。其中每個節點中都有指標變數指向列表中的下乙個節點。鍊錶中第乙個節點被稱之為表頭 head 所以將第乙個節點的指標變數命名為head。最後乙個節點並沒有神馬特殊的名字,但是它 最後乙個節點 有一項特殊的屬性 最後乙個節點將null作為最後乙個變數的值 所以檢...
leetcode 鍊錶 回文鍊錶
請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?head null 空鍊錶,回文,返回true head.next null 只有乙個節點的列表,回文,返回tru...