#include <iostream>
#include <stack>
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
void PrintListReversingly_Recursively_01(ListNode * pHead) {
std::stack<ListNode *> nodes;
// 使用stack的先进后出来实现
ListNode * pNode = pHead;
while (pNode != NULL) {
nodes.push(pNode);
pNode = pNode->m_pNext;
}
while (!nodes.empty()) {
pNode = nodes.top();
printf("%d \t ",pNode->m_nKey);
nodes.pop();
}
}
void PrintListReversingly_Recursively(ListNode* pHeader) {
if (pHeader != NULL) {
if (pHeader->m_pNext != NULL) {
PrintListReversingly_Recursively(pHeader->m_pNext);//使用递归
}
printf("%d \t ",pHeader->m_nKey);
}
}
int main() {
ListNode * node1 = new ListNode();
ListNode * node2 = new ListNode();
ListNode * node3 = new ListNode();
node1->m_nKey = 1;
node1->m_pNext = node2;
node2->m_nKey = 2;
node2->m_pNext = node3;
node3->m_nKey = 3;
node3->m_pNext = NULL;
PrintListReversingly_Recursively(node1);
printf("\n");//换行
PrintListReversingly_Recursively(node1);
delete node1;
delete node2;
delete node3;
return 0;
}
l1 链表从后往前遍历(两种算法,一种思想)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...