剑指offer之从尾到头反过来打印每一个结点的值
来源:互联网 发布:mac终端怎么退出vim 编辑:程序博客网 时间:2024/06/15 19:23
题目:
输入一个链表的头结点,从尾到头反过来打印出每一个节点的值。
分析:
后进先出,可以用栈来实现。
代码:
链表结点定义如下:
struct ListNode{ int m_nKey; ListNode *m_pNext;};
实现代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void
PrintListReverse(ListNode *pHead)
{
std::stack<ListNode*> nodes;//栈,用来存放遍历到的结点
ListNode *pNode = pHead;
while
(pNode != NULL)
{
nodes.push(pNode);//入栈
pNode = pNode->m_pNext;
}
while
(!nodes.empty())
{
pNode = nodes.top();
printf
(
"%d\t"
, pNode->m_nValue);
nodes.pop();//出栈
}
}
void
PrintListReversely(ListNode* pListHead) //当访问一个结点是,先递归输出它后面的结点,在输出该结点本身。
{
if
(pListHead != NULL)
{
// Print the next node first
if
(pListHead->m_pNext != NULL)
{
PrintListReversely(pListHead->m_pNext);
}
// Print this node
printf
(
"%d"
, pListHead->m_nKey);
}
}
0 0
- 剑指offer之从尾到头反过来打印每一个结点的值
- 输入一个链表的头结点,从尾到头反过来打印每个结点的值
- 输入一个链表的头结点,从尾到头反过来打印每个节点的值。
- 输入一个链表的头结点,从尾到头反过来打印每个节点的值。
- 输入一个链表的头结点,从尾到头反过来打印出每个结点的值
- 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值
- 输入一个链表的头结点,从尾到头反过来打印每个结点的值——5
- 输入一个链表的头结点,从尾到头反过来打印出每个节点的值。
- 输入一个链表的头结点,从尾到头反过来打印出每个节点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值。
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 从尾到头打印链表每一个节点的值
- 关于代码评审
- jQuery hover()方法和jQuery toggle()方法用法示例
- PostgreSQL使用
- Servlet注解
- MAC 显示隐藏文件/文件夹
- 剑指offer之从尾到头反过来打印每一个结点的值
- 调用支付宝SDK问题
- Qt之加密算法[转]
- Java项目命名规范
- objective-c 2.0的字面量Literals
- VarchartXgantt甘特图与EJS甘特图对比介绍
- mysql免安装版配置
- 屏幕分辨率值
- Zookeeper问题排查