从尾到到打印链表

来源:互联网 发布:哥布林升级数据 编辑:程序博客网 时间:2024/05/21 14:50

面试题5:从尾到头打印链表

链表的Node的结构为:

struct ListNode{    int Key;    ListNode *Next;};

看到题目时有两种想法,第一种是用栈,毕竟这就是先进后出的结构,完全满足题目要求。第二种方法就是链表的逆置。两种方法的时间复杂度都是O(n),都是遍历一遍链表然后输出,但是第二种方法改变了链表结构不可取。

第一种方法的实现:

void printLsit(ListNode *pHead){Stack<ListNode *>nodes;ListNode *pNode = pHead;while(pNode != NULL){nodes.push(pNode);pNode = pNode->Next;}while(!node.emtpy()){pNode = nodes.top();cout<<pNode->key;nodes.pop();}}



0 0
原创粉丝点击