题解 | #输出单向链表中倒数第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