剑指offer面试题【22】----链表中倒数第k个节点【鲁棒性】【链表】【列表】

题目描述

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

思路

遍历一遍单链表,并把节点信息存到列表中,要输出倒数第k个节点,直接输出倒数第k个列表中的节点信息,列表的倒数第k个节点list[-k]直接取出,特别方便。如果链表的长度比k小,或者k<0,则返回None。

代码实现

# -*- 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
        l=[]
        while head!=None:
            l.append(head)
            head=head.next
        if k<1 or len(l)<k:
            return None
        return l[-k]

猜你喜欢

转载自blog.csdn.net/weixin_42702666/article/details/89842939
今日推荐