剑指Offer面试题13[在O(1)时间删除表的结点]

来源:互联网 发布:转发软件拿货 编辑:程序博客网 时间:2024/04/30 10:50

1.题目描述:

  给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。

2. 相关知识:

  单向链表无指向前序结点的指针

3. 解答思路:

  如果从头结点遍历,则算法的复杂度为O(n),不符合要求。可通过将待删除结点的后序结点的值赋值给当前结点,然后删除后序结点。另外,需要考虑特殊情况,如链表是否只有一个结点,要删除的结点是否为尾结点。对于尾结点的情况,要遍历整个链表。

4. 代码实现:

阅读全文
0 0
原创粉丝点击