题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
#include <iostream>
using namespace std;
typedef struct ListNode{
int m_nKey;
ListNode* m_pNext;
ListNode(int x) : m_nKey(x), m_pNext(nullptr) {};
} *List;
int main() {
int num;
while (cin>>num) {
int a;
cin>>a;
List head = new ListNode(a);
List p = head;
for(int i = 1;i<num;i++){
cin>>a;
List t = new ListNode(a);
p->m_pNext = t;
p = t;
}
p = head;
List pp = head;
int k;
cin>>k;
while(k>0&&pp){
pp = pp->m_pNext;
k--;
}
//if(!pp) return 0;
while(pp){
pp = pp->m_pNext;
p=p->m_pNext;
}
cout<<p->m_nKey<<endl;
}
}
// 64 位输出请用 printf("%lld")
mark
查看1道真题和解析