- 思來想去整葡,還是把237題目放到這一部分的最后沧卢,本身代碼沒什么難度,亦缺乏技巧性嫩实,但關(guān)鍵是還真有公司當做應(yīng)屆生的面試題(不要問我是怎么知道的~~~)刽辙,所以列出來供小伙伴們參考。這種題目屬于只要你見過一遍甲献,就知道思路的問題
237. Delete Node in a Linked List
刪除鏈表結(jié)點(非尾結(jié)點)宰缤, 例如1->2->3->4,題目給了value為3的結(jié)點晃洒,調(diào)用你寫的方法后鏈表變?yōu)闉?/p>
- 注意理解題目意思慨灭,題目并沒有要求你必須刪除值為3的這個結(jié)點,只是要求通過刪除一個結(jié)點球及,將一個1->2->3->4的鏈表變?yōu)?->2->3->4的鏈表
1.舉例子-畫圖-解題思路
237.png
如果我們沒有3結(jié)點的前一個結(jié)點指針氧骤,我們是沒辦法直接刪除3結(jié)點的
我們的處理方式是將當前結(jié)點的值用下一個結(jié)點值覆蓋,然后刪除下一個結(jié)點即可吃引。即將第四個結(jié)點的值覆蓋第三個結(jié)點:1->2->4->4筹陵,然后刪除第四個結(jié)點變?yōu)?->2->4
2. 寫核心邏輯代碼
void deleteNode(ListNode* node)
{
node->val = node->next->val;
//我們要delete掉需要刪除的結(jié)點,所以提前保存下
ListNode *tmp = node->next;
node->next = tmp->next;
delete tmp;
}
3. 邊界條件-無
4. 優(yōu)化-無
5. 小結(jié)
怎樣應(yīng)對IT面試與筆試-(一)
怎樣應(yīng)對IT面試與筆試-(二)
怎樣應(yīng)對IT面試與筆試-(三)
怎樣應(yīng)對IT面試與筆試-(四)
怎樣應(yīng)對IT面試與筆試-(五)
怎樣應(yīng)對IT面試與筆試-(五-1)
怎樣應(yīng)對IT面試與筆試-(六)
怎樣應(yīng)對IT面試與筆試-(七)
怎樣應(yīng)對IT面試與筆試-(八)
怎樣應(yīng)對IT面試與筆試-(九)
怎樣應(yīng)對IT面試與筆試-(十)
怎樣應(yīng)對IT面試與筆試-(十一)
怎樣應(yīng)對IT面試與筆試-(十二)
怎樣應(yīng)對IT面試與筆試-(十三)
怎樣應(yīng)對IT面試與筆試-(十四)
怎樣應(yīng)對IT面試與筆試-(十五)
怎樣應(yīng)對IT面試與筆試-(十六)