/*由於不知道前驅結點,因此無法刪除當前結點的。爲了完成題目中的要求,
唯有一個辦法:用後面結點的值將當前結點的值覆蓋掉。*/
class Solution {
public:
void deleteNode(ListNode* node) {
if(node == nullptr || node->next == nullptr) return;
ListNode *pre = node;
node->val = node->next->val;
node = node->next;
while(node->next != nullptr){
node->val = node->next->val;
node = node->next;
pre = pre->next;
}
delete node;
pre->next = nullptr;
}
};
LeetCode之 Delete Node in a Linked List
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.