链接:
链接
题目:
给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。
假设链表一定存在,并且该节点一定不是尾节点。
数据范围
链表长度 [1,500][1,500]。
样例
输入:链表 1->4->6->8 删掉节点:第2个节点即6(头节点为第0个节点) 输出:新链表 1->4->8
思路:
把指针指向下一个结点,就可以把某一个结点给删除
代码:
/** * 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)=*(node->next); } };