第32050题 单选题
在Python实现的单链表中,若已知某个非尾节点的引用p,且没有头节点引用,要删除节点p,以下操作逻辑正确且时间复杂度最低的是?

单链表节点定义如下:

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
A

直接执行del p,时间复杂度O(1)

B

将p的next节点的值赋值给p,再删除p的next节点,时间复杂度O(1)

C

遍历找到p的前驱节点,将前驱的next指向p的next,再删除p,时间复杂度O(n)

D

将p的val设置为无效值,后续遍历跳过该节点即可,时间复杂度O(1)

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析