我将以下函数写入
find kth node from the end.
但是,一个隐藏的测试用例失败了。
请让我知道下面的代码有什么问题。
def find_kth_from_end(l, k):
slow = l.head
fast = l.head
for _ in range(k):
fast = fast.next
if fast is None:
return l.head
while fast.next:
slow = slow.next
fast = fast.next
return slow.next
Error details
'NoneType' object has no attribute 'next'
这是我的解决方案,但你必须导入sys:
def find_kth_from_end(list,index):
slow_pointer=fast_pointer=list.head
counter=0
for _ in range(index):
print("counter Pointer at: ", counter)
if fast_pointer:
print("Fast Pointer at: ", fast_pointer.value)
fast_pointer=fast_pointer.next
counter+=1
elif fast_pointer is None and counter<(index-1):
print("You have inputed a wrong index, you have given
extra",(index-counter))
sys.exit(0)
for _ in range(index):
if fast_pointer:
slow_pointer = slow_pointer.next
fast_pointer= fast_pointer.next
return slow_pointer