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

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

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

class node:
    def __init__(self,val=None,next=None) -> None:
        self.val=val
        self.next=next
class node_list:
    def __init__(self,val_list=[]) -> None:
        self.head=node(val=val_list[0])
        cur=self.head
        for vl in val_list[1:]:
            cur.next=node(vl)
            cur=cur.next

while True:
    try:
        n=int(input())
        data=list(input().split())
        k=int(input())

        nl=node_list(data)
        cur1=nl.head
        cur2=nl.head
        cnt=0
        while cur1.next!=None:
            cur1=cur1.next
            cnt+=1
            if cnt>=k: # 快慢指针,快指针到尾,慢指针则在倒数k
                cur2=cur2.next
        print(cur2.val)
    except:
        break

全部评论

相关推荐

05-27 14:57
西北大学 golang
强大的社畜在走神:27届真不用急,可以搞点项目、竞赛再沉淀沉淀,我大二的时候还在天天打游戏呢
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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