None 访问 LinkedList 时出现类型错误
None Type Error Given to me when accessing LinkedList
我目前正在研究 LeetCode 问题,称为从列表末尾删除第 N 个节点。在其中,我在尝试访问等于头部的变量时收到 'NoneType' Error has no object next 错误。逻辑可能是错误的,但我不确定为什么我会在这个特定变量上出错(因为我已经检查过头部或 head.next 是否为 None)。 “ while runner.next is not None:” 行给我一个错误。我不一定需要帮助解决这个问题,就像为什么会出现这个错误一样。谢谢!
小编辑。对于大多数示例情况,代码运行良好,但此错误普遍存在的地方是列表看起来像 1 -> 2 - >None(1 是头)。
if not head:
return
if head.next == None:
return
count = 0
walker = head
runner = head
if not walker or not runner:
return
while runner.next is not None:
while(count < n):
runner = runner.next
count = count + 1
walker = walker.next
runner = runner.next
walker.next = walker.next.next
return head
在您提供的示例中,无法访问 runner.next
属性,因为转轮是 None
。如果 n > 0
,你的内部 while 循环至少迭代一次,沿着链表前进,然后在外循环结束时再次前进。这使得 runner 等于 None。因此,当 while 循环尝试检查条件时,它会尝试访问 runner.next
并给出错误。您可能希望更新您的条件以检查跑步者是否也不是 None.
我目前正在研究 LeetCode 问题,称为从列表末尾删除第 N 个节点。在其中,我在尝试访问等于头部的变量时收到 'NoneType' Error has no object next 错误。逻辑可能是错误的,但我不确定为什么我会在这个特定变量上出错(因为我已经检查过头部或 head.next 是否为 None)。 “ while runner.next is not None:” 行给我一个错误。我不一定需要帮助解决这个问题,就像为什么会出现这个错误一样。谢谢! 小编辑。对于大多数示例情况,代码运行良好,但此错误普遍存在的地方是列表看起来像 1 -> 2 - >None(1 是头)。
if not head:
return
if head.next == None:
return
count = 0
walker = head
runner = head
if not walker or not runner:
return
while runner.next is not None:
while(count < n):
runner = runner.next
count = count + 1
walker = walker.next
runner = runner.next
walker.next = walker.next.next
return head
在您提供的示例中,无法访问 runner.next
属性,因为转轮是 None
。如果 n > 0
,你的内部 while 循环至少迭代一次,沿着链表前进,然后在外循环结束时再次前进。这使得 runner 等于 None。因此,当 while 循环尝试检查条件时,它会尝试访问 runner.next
并给出错误。您可能希望更新您的条件以检查跑步者是否也不是 None.