该题的难点在于单链表没法删除节点,那么就仅仅能将该节点兴许全部节点的值前移覆盖当前节点的值。须要注意的是在移动到倒数第二个节点的时候在覆盖其值之后须要将其下一个节点指向 nullptr。
class Solution {
public:
void deleteNode(ListNode* node) {
if(node == nullptr)
return;
while(node -> next != nullptr && node -> next -> next != nullptr){
node -> val = node -> next -> val;
node = node -> next;
}
node -> val = node -> next -> val;
node -> next = nullptr;
}
};