题解 | #输出单向链表中倒数第k个结点#

输出单向链表中倒数第k个结点

https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d

import sys
class Node():
    def __init__(self,key=None,next=None):
        self.Key = key
        self.Next = next 
class ListNode():
    def __init__(self,node):
        self.head = node
        self.tail = node 
        self.find = node
    def add_Node(self,node):
        self.tail.Next = node
        self.tail = node 
    def count_length(self) -> int:
        i = 1
        while self.find!=None:
            self.find = self.find.Next
            i += 1
        return i 
    def find_dth(self,k) -> int:
        i = 1
        self.find = self.head
        while i<k:
            self.find = self.find.Next
            i += 1
        return self.find.Key

def build(values,n):
    path = []
    for value in values:
        node = Node(value)
        path.append(node)
    list_node = ListNode(path[0])
    for i in range(1,n):
        list_node.add_Node(path[i])
    return list_node

def print_reverse(k):
    kk = list_node.count_length()-k  # 把倒数变成正数第多少个。
    return list_node.find_dth(kk)

if __name__=='__main__':
    try:
        while 1:
            n = int(input())
            values = list(map(int,input().split(' ')))
            k = int(input())  
            list_node = build(values,n)
            result = print_reverse(k)
            print(result)
    except:
        a = None



# try:
#     pass 
# except:
#     pass

全部评论
兄弟你没注意到题目要求忘记链表长度嘛
点赞 回复 分享
发布于 2022-11-16 20:44 江苏

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务