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

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

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

class Node:
    def __init__(self, val, Next=None):
        self.val = val
        self.next = Next

class LNode:
    def __init__(self, head):
        self.head = Node(head)
        
    def link(self, vl):
        cur = self.head
        while cur.next:
            cur = cur.next
        for v in vl:
            cur.next = Node(v)
            cur = cur.next
    def findk(self, k):
        cur = self.head
        pre = self.head
        k1 = 0
        k2 = 0
        while cur:
            cur = cur.next
            k1+=1
            if k1 - k2 == k+1:
                k2+=1
                pre = pre.next
        return pre.val
            
while True:
    try:
        n= int(input())
        a = list(map(int, input().split()))
        k = int(input())
        ln = LNode(a[0])
        ln.link(a[1:n])
        v = ln.findk(k)
        print(str(v))
    except:
        break
全部评论

相关推荐

程序员鼠鼠_春招版:我要12k吧我挂了,还招呢,天天被割,这点钱都不舍得出
点赞 评论 收藏
分享
02-18 17:30
腾讯_TEG_技术
多刷** 背八股 刷面经 项目话术准备好 不会差的!!!后台看到好多小伙伴们都出现其中一个环节的错误,,,可惜了抓紧机会吧 有的是hc 但缺的就是稍微用心的人
野猪不是猪🐗:多刷星星,背八股背话术,真的能过你们?对一个个没实习过的学生狂问场景题设计题和底层深挖,别以为我不知道一边说缺人还一边各种kpi面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务