双指针法
在不知道链表长度的情况下,需要知道倒数第k个节点可以借助一个临时节点p,让他先走k步。然后head和p一起往后移,当p走到末尾的时候,head指向的节点就是我们要求的节点。
代码
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def kthToLast(self, head: ListNode, k: int) -> int:
p = head
for i in range(0, k):
p = p.next
while p!=None:
head = head.next
p = p.next
return head.val