1. 题目

2. 解答

  • 因为给定的只有一个待删除的结点指针,我们并不知道其前面结点,所以需要将待删除结点后面的结点值复制到前面结点去,然后指向其后的第二个结点即可。
/** * 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) {
        
        // 将待删除结点后面的结点值复制到前面结点去,然后指向其后的第二个结点
       
        node->val = node->next->val;
        node->next = node->next->next;
    }
};

获取更多精彩,请关注「seniusen」!