[AcWing 28] 在O(1)时间删除链表结点

image


点击查看代码
/**
 * 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;
    }
};

  1. 此题无法得到前驱节点。
  2. 用后继结点的值覆盖此结点的值,然后将后继结点删除。
posted @ 2022-04-21 22:38  wKingYu  阅读(35)  评论(0)    收藏  举报