一道c++的笔试题(链表找倒数第k个节点)

一 编程 70分
1.(35分)
输入一个单链表,输出该链表中倒数第k个节点,链表的倒数第0个节点为链表的尾指针,
链表结构定义:
struct ListNode{
int m_nKey;
listNode* m_pNode;
};
用C/C++编写PrintNode函数,要求考虑链表非常大时的时间复杂度;
PrintNode函数原型:void PrintNode(const ListNode *link,int k);

输入链表的时候利用栈把链表倒序,这样单链表就变成了逆单链表,找倒数K个结点只要K此就行了。

不过空间复杂度变成了O(n)
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-09
如果这样定义貌似只能从表头顺序读下去咯..
相似回答