Python 程序员面试金典 面试题 02.02. 返回倒数第 k 个节点
Posted Drink_Coffee_Cat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 程序员面试金典 面试题 02.02. 返回倒数第 k 个节点相关的知识,希望对你有一定的参考价值。
笨办法:先遍历链表得出链表长度然后就可以了
class Solution:
def kthToLast(self, head: ListNode, k: int) -> int:
cur = head
cnt = 1
while cur.next:
cnt += 1
cur = cur.next
cur = head
for i in range(cnt - k):
cur = cur.next
return cur.val
最佳解法:快慢指针
class Solution:
def kthToLast(self, head: ListNode, k: int) -> int:
fast = head
slow = head
while k > 0:
fast = fast.next
k -= 1
while fast != None:
fast = fast.next
slow = slow.next
return slow.val
以上是关于Python 程序员面试金典 面试题 02.02. 返回倒数第 k 个节点的主要内容,如果未能解决你的问题,请参考以下文章