鏈表理論基礎
建議:了解鏈表和數組的區別
文章鏈接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html
203.移除鏈表元素
建議: 本題最關鍵是要理解 虛擬頭結點的使用技巧,這個對鏈表題目很重要。
題目鏈接/文章講解/視頻講解::https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html
思路:
這道題一開始我想到的是在原鏈表上操作,也想到了在頭節點和非頭節點刪除的不同,但是沒寫出來,看完題解了解到利用虛擬頭節點可以統一在任意位置刪除插入的操作。
問題:
沒有給指針賦值,報錯
https://blog.katastros.com/a?ID=01650-078cdfb6-7113-4fee-911d-5cb22b1e60b7
收獲:
虛擬頭節點的使用
707.設計鏈表
建議: 這是一道考察 鏈表綜合操作的題目,不算容易,可以練一練 使用虛擬頭結點
題目鏈接/文章講解/視頻講解:https://programmercarl.com/0707.%E8%AE%BE%E8%AE%A1%E9%93%BE%E8%A1%A8.html
問題:這一道題的關鍵和上一道差不多,我的盲區在于如何定義自己的鏈表,以及在自己定義的鏈表結構上操作。
206.反轉鏈表
建議先看視頻講解,視頻講解中對反轉鏈表需要注意的點講的很清晰了
題目鏈接/文章講解/視頻講解:https://programmercarl.com/0206.%E7%BF%BB%E8%BD%AC%E9%93%BE%E8%A1%A8.html
收獲:
這道題的是用兩個指針pre和cur實現轉向,關鍵是在對當前節點轉向之前,要先保存它的next位置,不然轉向之后就找不到了,在利用剛保存的位置對當前節點進行更新。熟練掌握雙指針的寫法,根據雙指針可以寫出遞歸,遞歸的關鍵在于什么時候結束遞歸,也就是邊界條件是什么,以及遞歸的參數如何賦值。