LeetCode 237. 删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。

将要删除的节点换为其下一个节点即可:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    void deleteNode(ListNode* node) {
        if (node == nullptr) {
            return;
        }
        
        node->val = node->next->val;
        ListNode *nextNode = node->next;
        node->next = nextNode->next;
        
        delete nextNode;
        nextNode = nullptr;
    }
};
posted @ 2020-08-13 23:05  epiphanyy  阅读(10)  评论(0)    收藏  举报  来源