题解 | #链表中倒数最后k个结点#

链表中倒数最后k个结点

http://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9

```# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param pHead ListNode类 
# @param k int整型 
# @return ListNode类
#
class Solution:
    def FindKthToTail(self , pHead: ListNode, k: int) -> ListNode:
        # write code here
        rt = pHead #将链表的初始节点位置保存
        i=1# 链表当前处于第i个节点
        while pHead:
            #如果链表的位置索引i大于k,并且链表的下一个节点不为None,那么用于返回值的链表向后移动一个位置
            if i>=k and pHead.next!=None:
                rt=rt.next
            pHead=pHead.next#链表继续向后索引
            i+=1#链表位置索引加1
        if (i-1)<k or k==0:#如果链表总长度小于k或k为0,则返回空链表
            return None
        else :#否则返回预期的倒数第k个节点
            return rt
全部评论

相关推荐

点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务