重點 :只要是涉及到添加、刪除的鏈表問題,創建dummy結點的方法可以省去很多邊界條件判斷。
重點留意邊界條件處理:
如何寫出bug free的代碼,以鏈表爲例子,檢查其邊界條件:
- 如果鏈表爲空時,代碼是否能正常工作?
- 如果鏈表只包含一個結點時,代碼是否能正常工作?
- 如果鏈表只包含兩個結點時,代碼是否能正常工作?
- 代碼邏輯在處理頭結點和尾結點的時候,是否能正常工作?
寫鏈表代碼是最考驗邏輯思維能力的。因爲,鏈表代碼到處都是指針的操作、邊界條件的處理,稍有不慎就容易產生 Bug。鏈表代碼寫得好壞,可以看出一個人寫代碼是否夠細心,考慮問題是否全面,思維是否縝密。所以,這也是很多面試官喜歡讓人手寫鏈表代碼的原因。