#include <iostream> using namespace std; struct ListNode{ int val; struct ListNode* m_pnext; }; int main(){ int n; // 链表节点个数 int k; while(cin>>n){ // 构造头节点 ListNode* dummy = new ListNode{0,nullptr}; ListNode* cur = dummy; for(int i = 0; i < n; ++i){ int value; cin>>value; ListNode* newNode = new ListNode{value,nullptr}; cur->m_pnext = newNode; cur = newNode; } // 输出第k个节点的值 cin>>k; int count = 0; cur = dummy; while(count < k){ cur = cur->m_pnext; count++; } // cur指向正向的第k个节点 ListNode* pCur = dummy; while(cur!=nullptr){ pCur = pCur->m_pnext; cur = cur->m_pnext; } cout<<pCur->val<<endl; } }