2.3 Implement an algorithm to delete a node in the middle of a singly linked list, given only access to that node.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
bool deleteNode(ListNode *n) {
if (n == NULL || n->next == NULL) {
return false;
}
ListNode *next = n->next;
n->val = next->val;
n->next = next->next;
delete next;
return true;
}
本文介绍了一种在只拥有链表中间节点访问权限的情况下删除该节点的方法。通过将待删除节点的值替换为下一个节点的值,并跳过下一个节点来实现删除操作。
342

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



