LeetCode 删除链表的结点

删除链表的结点

请编写一个函数,使其可以删除某个链表中给定的(非末尾的)节点,您将只被给予要求被删除的节点。

比如:假设该链表为 1 -> 2 -> 3 -> 4 ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。

解题思路:由于已经明确表示不是末尾的节点,所以可以采用删除给与节点的下一节点,删除之前替换掉两节点的数据。

  void deleteNode(ListNode* node) {
        if(node->next==NULL)
            return;
        node->val=node->next->val;
        ListNode *temp=node->next;
        node->next=node->next->next;
        delete temp;
    }

猜你喜欢

转载自blog.csdn.net/wjh_init/article/details/80331149