链表中倒数第k个节点( python实现 )
一、题目描述
题目:链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第一个节点。例如,一个链表有6个节点,从头节点开始,他们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
二、解题思路
暂略。(此处主要作为书中python实现补充)
三、代码实现
这里的代码在 牛客网剑指offer:链表中倒数第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
if head is None:
return head
pPre = head
pBack = head
for i in range(k):
if pPre is None:
return None
pPre = pPre.next
while pPre is not None:
pPre = pPre.next
pBack = pBack.next
return pBack
这里再给出一个较为详细的