鏈表學習技巧及常用常規鏈表操作
單鏈表反轉-參考鏈接:
合併兩個有序鏈表-參考鏈接:
刪除鏈表倒數第N個節點-參考鏈接:
求鏈表中間節點-參考鏈接:
前言:
感覺自己的算法不咋地,所以想好好提升下自己的算法能力,於是就買了 極客時間的《數據結構與算法之美》 - 王爭的專欄來看了,看到第7講,總結有如下幾個技巧:
- 1 理解指針或引用定義
- 2 警惕指針丟失或內存泄漏(處理指針節點如:中間插入,可從後往前處理)
- 3 哨兵簡化
- 4 邊界值
- 鏈表爲空?
- 僅含1/2個節點是否正常
- 頭尾節點處理是否正常
- 5 畫圖+舉例
- 6 多寫多練!!!
第六點我感覺是最重要的,多寫寫能加強自己的手感,以下是大佬的提的幾個鏈表例子
- 單鏈表反轉
- 鏈表中環檢測
- 兩個有序鏈表合併
- 刪除鏈表倒數的第N個節點
- 求鏈表中間節點
-------------------------第六點下面我會一一手寫出代碼,寫字較醜,具體可參考最上面的參考連接
6.1 單鏈表反轉
6.2 鏈表中環檢測(快慢指針求解)
6.3 兩個有序鏈表合併
6.4 刪除鏈表倒數的第N個節點
6.5 求鏈表中間節點(快慢指針求解)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.