- 思來想去,還是把237題目放到這一部分的最后,本身代碼沒什么難度,亦缺乏技巧性,但關鍵是還真有公司當做應屆生的面試題(不要問我是怎么知道的~~~),所以列出來供小伙伴們參考。這種題目屬于只要你見過一遍,就知道思路的問題
237. Delete Node in a Linked List
刪除鏈表結點(非尾結點), 例如1->2->3->4,題目給了value為3的結點,調用你寫的方法后鏈表變?yōu)闉?/p>
- 注意理解題目意思,題目并沒有要求你必須刪除值為3的這個結點,只是要求通過刪除一個結點,將一個1->2->3->4的鏈表變?yōu)?->2->3->4的鏈表
1.舉例子-畫圖-解題思路

237.png
如果我們沒有3結點的前一個結點指針,我們是沒辦法直接刪除3結點的
我們的處理方式是將當前結點的值用下一個結點值覆蓋,然后刪除下一個結點即可。即將第四個結點的值覆蓋第三個結點:1->2->4->4,然后刪除第四個結點變?yōu)?->2->4
2. 寫核心邏輯代碼
void deleteNode(ListNode* node)
{
node->val = node->next->val;
//我們要delete掉需要刪除的結點,所以提前保存下
ListNode *tmp = node->next;
node->next = tmp->next;
delete tmp;
}
3. 邊界條件-無
4. 優(yōu)化-無
5. 小結
怎樣應對IT面試與筆試-(一)
怎樣應對IT面試與筆試-(二)
怎樣應對IT面試與筆試-(三)
怎樣應對IT面試與筆試-(四)
怎樣應對IT面試與筆試-(五)
怎樣應對IT面試與筆試-(五-1)
怎樣應對IT面試與筆試-(六)
怎樣應對IT面試與筆試-(七)
怎樣應對IT面試與筆試-(八)
怎樣應對IT面試與筆試-(九)
怎樣應對IT面試與筆試-(十)
怎樣應對IT面試與筆試-(十一)
怎樣應對IT面試與筆試-(十二)
怎樣應對IT面試與筆試-(十三)
怎樣應對IT面試與筆試-(十四)
怎樣應對IT面試與筆試-(十五)
怎樣應對IT面試與筆試-(十六)