0
点赞
收藏
分享

微信扫一扫

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

云朵里的佛光 2022-03-30 阅读 55
java

 


#include<iostream>
using namespace std;

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

 ListNode*init(int n){
     ListNode* p= new ListNode();
     p->m_pNext=NULL;
     // result头指针不动
     ListNode*result=p;
    while(n>0){
        int val;
        cin>>val;
        ListNode *m=new ListNode();
        m->m_nKey=val;
        m->m_pNext=NULL;
        // 正序创建 p后移
        p->m_pNext=m;
        p=m;
        n--;
    }
    return result;
}

int out(struct ListNode*l,int n){
    
   while(n!=0){
       n--;
       l=l->m_pNext;
       if(l==NULL) {
           return 0;
       }
   }
    return l->m_nKey;
}

int main(){
    int n;
    //忘记链表长 
    while(cin>>n){
    struct ListNode * l=init(n);
    int k;cin>>k;
    cout<<out(l,n-k+1)<<endl;
    }
    return 0;
}

 

 

举报

相关推荐

0 条评论