逆序输出链表元素

来源:互联网 发布:反还珠 知画重生 编辑:程序博客网 时间:2024/04/28 02:14

关键代码:

struct ListNode{int m_nKey;ListNode* m_pNext;};//法一使用栈的方法 void PrintListReversingly_Iteratively(ListNode* pHead){std::stack<ListNode*> nodes;ListNode* pNode = pHaed;while(pNode!=NULL){nodes.push(pNode);pNode = pNode->m_pNext;}while(!nodes.empty()){pNode = nodes.top;cout << pNode->m_nKey << " ";nodes.pop();}}//法二使用递归的方法//如果链表长度很长,那么存在递归深度过大的问题 void PrintListReversingly_Recursively(ListNode* pHead){if(pHead!=NULL){if(pHead->m_pNext == NULL){cout << pHead->m_nKey << " "; }else{PrintListReversingly_Recursively(pHead->m_pNext);}}}






0 0