剑指 Offer 22. 链表中倒数第k个节点

剑指 Offer 22. 链表中倒数第k个节点_数据结构

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def getKthFromEnd(self, head: ListNode, k: int) -> ListNode:
        if head is None:
            return head
        first, last = head, head
        while k > 0:
            if last is None:
                return None
            last = last.next
            k -= 1
        while last:
            first = first.next
            last = last.next
        return first