/*由于不知道前驱结点,因此无法删除当前结点的。为了完成题目中的要求,
唯有一个办法:用后面结点的值将当前结点的值覆盖掉。*/
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
最新推荐文章于 2024-05-20 23:20:44 发布
本文介绍了一种特殊的链表节点删除方法,当无法访问前驱节点时,可通过复制后续节点的值来间接删除当前节点,并提供了详细的实现步骤及示例代码。
996

被折叠的 条评论
为什么被折叠?



