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

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

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

#include <stdio.h>
#include <stdlib.h>
typedef struct ListNode {
    int m_nKey;
    struct ListNode* m_pNext;
} LST;

int main() {
    int n;
    while(scanf("%d", &n) != EOF) {
        LST *Head = (LST *)malloc(sizeof(LST));
        LST *Last = Head;
        scanf("%d", &(Head->m_nKey));
        Head->m_pNext = NULL;
        for(int i = 0; i < n - 1; i++) {
            LST *tmp = (LST *)malloc(sizeof(LST));
            scanf("%d", &(tmp->m_nKey));
            Last->m_pNext = tmp;
            Last = tmp;
        }
        Last->m_pNext = NULL;
        n = 0;
        Last = Head;
        while(Last != NULL) {
            n++;
            Last = Last->m_pNext;
        }
        int k;
        scanf("%d", &k);
        Last = Head;
        for(int i = 0; i < n - k; i++) {
            Last = Last->m_pNext;
        }
        printf("%d\n", Last->m_nKey);
        while(Head != NULL) {
            LST *tmp = Head->m_pNext;
            free(Head);
            Head = tmp;
        }
    }
    return 0;
}

全部评论

相关推荐

09-18 12:13
已编辑
门头沟学院 产品经理
火猴大圣:不要委屈自己,进去看一看 。。。 这样你才能彻底死心
点赞 评论 收藏
分享
头像 会员标识
08-20 18:46
门头沟学院 C++
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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