19-删除中间节点

image-20210429185122232

自己的做法

算法思想

要删除给定单链表的节点,所以无法找到该节点的前一个节点。也就无法通过改变指针来删除。

所以可以将待下一个节点的值赋给待删除节点,然后删除下一个节点即可。

算法实现

1
2
3
4
5
6
7
class Solution {
public:
void deleteNode(ListNode* node) {
node->val = node->next->val;
node->next = node->next->next;
}
};

性能分析

时间复杂度:O(1)O(1)

空间复杂度:O(1)O(1)


19-删除中间节点
https://zhaoquaner.github.io/2022/05/11/leetcode/链表/19-删除中间节点/
更新于
2022年5月22日
许可协议