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

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

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

#include <iostream>

using namespace std;

struct ListNode{
    int m_nKey;
    ListNode* m_pNext;
};

int main() {  //有多组测试用例,一定要循环,然后文件结尾再跳出循环
    int n;
    while(cin>>n){
    ListNode *head;
    while(n--){  //采用头插法输入数据,这样相当于获得与输入顺序相反的链表
        ListNode* newNode=new ListNode();
        cin>>newNode->m_nKey;
        newNode->m_pNext=head;
        head=newNode;
    }
    //链单向表正数第k个即为题中所要求的的倒数第k个
    int k;
    cin>>k;
    while(--k){
        head=head->m_pNext;
    }
    cout<<head->m_nKey<<endl;
    }
    return 0;
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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