剑指offer14.链表中倒数第k个结点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36811967/article/details/85837245

https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述
输入一个链表,输出该链表中倒数第k个结点。

快慢指针,快指针先前进k次,然后快慢指针同步向前,直到快指针到达最后:

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def FindKthToTail(self, head, k):
        # write code here
        slow, fast = head, head
        for i in range(k):
            if fast == None:
                return None
            fast = fast.next
        while fast:
            fast = fast.next
            slow = slow.next
        return slow

猜你喜欢

转载自blog.csdn.net/sinat_36811967/article/details/85837245