關於鍊錶的一些總結

2021-10-10 08:03:09 字數 386 閱讀 5878

1.在鍊錶頭部新增空頭以消除頭部特殊判斷比較常見,用於刪除和新增元素,啞結點的意思就是在head第乙個節點之前設立乙個節點。

2.因為鍊錶的操作有限,所以很多時候我們可以把鍊錶中的元素儲存在陣列中,進行操作。

3.鍊錶從前往後遍歷元素簡單,但是從後往前遍歷元素確實困難重重,所以我們可以使用棧來儲存資料,因為棧的特點是先進後出。

4.經常也要通過遍歷鍊錶來找到鍊錶長度。

使用雙指標法.找到中間節點

* 我們也可以使用快慢指標在一次遍歷中找到:慢指標一次走一步,

* 快指標一次走兩步,快慢指標同時出發。當快指標移動到鍊錶的末尾時,

* 慢指標恰好到鍊錶的中間。通過慢指標將鍊錶分為兩部分。

因為做題不多,暫時沒有太多總結,有更多的再補充。

關於鍊錶的一些操作總結

這是乙個簡單的鍊錶操作問題,在leetcode上面有52.7 的通過率,難度是簡單。但是還是想在這裡基於python做一下總結,順便總結一下鍊錶的各種操作。首先先看一下leetcode上面的題目 反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 高階 你可...

關於鍊錶的一些題目

2.刪除遞增有序鍊錶中大於min,小於max的元素 3.逆置鍊錶 4.合併兩個鍊錶 4.合併n個鍊錶 分治法 測試 前乙個與後乙個比較,相同就刪除結點,並釋放記憶體。返回頂部 先找到兩個前驅,釋放中間結點,並且將鍊錶重新鏈起來。返回頂部 public listnode reverselist lis...

關於鍊錶操作程式設計實現的一些總結

鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。使用鍊錶結構可以克服陣列需要預先知道...