题解 | #链表中倒数最后k个结点#
链表中倒数最后k个结点
http://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9
这道题需要注意的就是边界情况
1、链表为空 --返回空
2、k值小于等于0 ---返回空
3、链表长度小于k值 ---返回空
4、正常情况,链表长度大于k值 ---快慢指针
class Solution: def FindKthToTail(self , pHead , k): if k<=0 or not pHead: # 边界1、2 return None dummy = ListNode(-1) dummy.next = pHead pre = dummy cur = dummy.next while k: if not cur: # 边界3. k值还未递减到0,已经到达了链表末尾,则链表长度小于k,返回None return None cur = cur.next # 边界4,正常情况,快慢指针 k -= 1 while cur: # 正常情况,快慢指针 pre = pre.next cur = cur.next return pre.next