倒序输出可以用先逆转链表在顺序输出的思路。在不改变链表的结构的前提下,用栈来实现先进后出的目的。
void PrintReverse(ListNode*phead)
{
std::stack<ListNode*>nodes;
ListNode*pNode=phead;
while(pNode!=NULL)
{
nodes.push(pNode);
pNode=pNode->next;
}
while(!nodes.empty())
{
pNode=nodes.top();
cout<<pNode->m_key;
nodes.pop();
}
}