美文网首页
剑指offer:链表中倒数第k个结点

剑指offer:链表中倒数第k个结点

作者: 聪民 | 来源:发表于2019-12-24 21:08 被阅读0次

    因为没有系统地学过数据结构,所以需要多记录一些有关于数据结构的题目。

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

    链表的题目首先要考虑的就是快慢指针,显然这道题也可以用双指针做。
    其次要考虑的就是各种边界问题。

    # -*- coding:utf-8 -*-
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        def FindKthToTail(self, head, k):
            if k <= 0 or not head:
                return None
            left, right = head, head
            for i in range(k-1):
                if not right.next:
                    return None
                right = right.next       #右指针从第k-1个数开始,这样下面的循环结束时后面就剩下k-1个结点
            while right.next:
                left = left.next
                right = right.next
            return left
    

    相关文章

      网友评论

          本文标题:剑指offer:链表中倒数第k个结点

          本文链接:https://www.haomeiwen.com/subject/ooafoctx.html