题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
#include <cstddef> #include <iostream> using namespace std; struct ListNode { int m_nKey; ListNode* m_pNext; }; int main() { int n; while (cin >> n) { int num, k; ListNode* T = (ListNode*)malloc(sizeof(ListNode)); T->m_pNext = nullptr; ListNode* p = T; for (int i = 0; i < n; i++) { cin >> num; p->m_pNext = (ListNode*)malloc(sizeof(ListNode)); p = p->m_pNext; p->m_nKey = num; p->m_pNext = nullptr; } cin >> k; p = T->m_pNext; ListNode* q = T->m_pNext; while (k) { q = q->m_pNext; k--; } while (q) { p = p->m_pNext; q = q->m_pNext; } cout << p->m_nKey << endl; } } // 64 位输出请用 printf("%lld")