从尾到头打印链表
来源:互联网 发布:中国贸易摩擦数据 编辑:程序博客网 时间:2024/06/01 23:08
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
思路:看到此题,直观的想法就是把链表里面正序的数据放入栈中,然后打印出来。
代码如下:
法一:显示用栈:
typedef int DataType;typedef struct Node{ DataType Data; struct Node *Next;}ListNode;void PrintListRever(ListNode *pHead){ if (pHead == NULL) return; ListNode *ptr = pHead; stack<ListNode*> mystack; while (ptr != NULL) { mystack.push(ptr); ptr = ptr->Next; } while (!mystack.empty()) { ListNode *p = mystack.top(); cout << p->Data << " "; mystack.pop(); }}
法二:因为递归也是利用了函数栈,所以我们可以一直递归到最后一个结点,然后在回撤的时候,从最后一个打印,知道打印到第一个数据。
缺点:链表结点如果非常多,可能会造成栈溢出。
代码如下:
void PrintListRever(ListNode *pHead){ assert(pHead != NULL); if (pHead->Next != NULL) { PrintListRever(pHead->Next); } cout << pHead->Data << " ";}
0 0
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- Offer5 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 毛玻璃
- Android OkHttp完全解析
- jquery 消息提示美化 非阻塞式 信息/消息提示框
- T-Sql访问远程数据库
- Fragment中加载Activity
- 从尾到头打印链表
- MTK平台ZCV表格数据导入到cust_battery_meter_table.h
- Java工程师成神之路
- Navicat各服务器怎么设置文件扩展名
- OpenGL ES 三种类型修饰 uniform attribute varying
- xml转document问题
- 定制RPM包并加入内部Yum Server
- C++静态库和动态库
- iOS tableView表视图设置背景图片