1.鍊錶問題的演算法難度不高,但是考察**實現能力。
2.鍊錶和陣列都是一種線性結構
①組是一段連續的儲存空間
②鍊錶空間不一定保證連續,為臨時分配的。只能從鍊錶頭部開始乙個個往下走,不能直接定位到i結點。
鍊錶分類:
連線方向:單鏈表;雙鏈表
有環無環:普通鍊錶;環形鍊錶(普通環形鍊錶;迴圈鍊錶)
鍊錶問題**實現的關鍵點和注意點:
1. 函式的返回值通常是結點型別;
2. 處理鍊錶過程中,先採用畫圖的方式理清邏輯。
3. 鍊錶問題對於邊界條件討論要嚴格:不要假設所有指標都是有意義的。特殊值例如空節點,頭結點,尾結點。
鍊錶插入和刪除的注意事項:
1. 注意特殊情況:鍊錶為null或者鍊錶長度為1要特殊處理
2. 注意插入、刪除操作中指標的調整
3. 當插入到頭結點之前、尾結點之後;刪除頭結點、尾結點是特殊情況,注意包含。--其實自動包含,不需要特殊處理。
鍊錶翻轉問題:
即將鍊錶的指標反向:
特殊處理當鍊表為null或者長度為1的特殊情況。
注意:鍊錶問題最好不要使用額外的資料結構,即做到空間複雜度為
o(1)
mysql 雙向鍊錶 面試 雙向鍊錶
面試遇到乙個題目,寫乙個雙向鍊錶,包括新增,刪除,查詢和遍歷。當時寫了一塌糊塗,後來自己都覺得想笑,雙向寫著寫著被我寫成了單向不像單向,雙向不像雙向了,真是不倫不類。之後 我把這個問題整理了一下,希望對以後的小夥伴 有幫助。如果有錯誤,希望指出 以免誤人。謝謝!public class linkno...
煉表面試考試常用題
1.判斷是否帶環 linklist hascircle linklist node if slow fast 快慢指標相遇 帶環 2.求環長 size t getcirclelength linklist pmeetnode return length 3.求環入口點 從起點和相遇點出發,再相遇時就...
LeetCode 鍊錶 面試題 反轉鍊錶
題目 於 leetcode 上第 206號 reverse linked list 問題 反轉乙個單鏈表。題目難度為 easy。題目描述 reverse a singly linked list.反轉乙個單鏈表 input 1 2 3 4 5 null output 5 4 3 2 1 null 複...