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

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

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

#include <stdio.h>
#include <malloc.h>
//利用尾插法,尾插法可以将输入顺序逆置,然后找出链表第k个结点即可
struct ListNode
{
    int m_nKey;
    struct ListNode* m_pNext;
};
int main() {
    int n;
    while(scanf("%d",&n)!=EOF)
    {
    struct ListNode *Q=malloc(sizeof(struct ListNode));
    Q->m_pNext=NULL;
    for(int i=0;i<n;i++)
    {
        int x;
        scanf("%d",&x);
        struct ListNode* node=malloc(sizeof(struct ListNode)*1);
        node->m_nKey=x;
        node->m_pNext=Q->m_pNext;
        Q->m_pNext=node;
    }
    int ret=0;
    int k;
    scanf("%d",&k);
    for(int i=0;i<k;i++)
    {
        Q=Q->m_pNext;
    }
    printf("%d\n",Q->m_nKey);

    
    }
    return 0;
}

全部评论

相关推荐

浩浩没烦恼:一二面加起来才一个小时? 我一面就一个小时多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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