面试题5 从头到尾打印链表
来源:互联网 发布:windows 做磁盘条带化 编辑:程序博客网 时间:2024/05/01 07:26
九度链接:http://ac.jobdu.com/problem.php?pid=1511
题目1511:从尾到头打印链表
- 题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
- 输入:
每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。
- 输出:
对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。
- 样例输入:
12345-1
- 样例输出:
54321
逆序联想到后进先出-->栈,或者递归。考虑到效率,优先选择栈。
#include <stdio.h>#include <stack>using namespace std;typedef struct ListNode { int data; ListNode* next;}ListNode;void printList(ListNode *phead) { if (phead->next == NULL) return; phead = phead->next; stack<int> Stack; int n = 0; while (phead != NULL) { Stack.push(phead->data); phead = phead->next; n ++; } while (!Stack.empty()) { if (n -- != 0) printf("%d\n", Stack.top()); else printf("%d", Stack.top()); Stack.pop(); }}int main() { ListNode *head = new ListNode(); ListNode *p = head; int d; scanf("%d", &d); while (d != -1) {//创建链表 ListNode *tmp = new ListNode(); tmp->data = d; tmp->next = NULL; p->next = tmp; p = p ->next; scanf("%d", &d); } printList(head); return 0;}
0 0
- 面试题5 从头到尾打印链表
- 面试题5 从头到尾打印链表
- 面试题5:从头到尾打印链表
- 面试题5:从头到尾打印链表
- 《剑指offer》面试题5从头到尾打印链表
- 《剑指Offer》面试题-从头到尾打印链表
- 剑指offer面试题之从头到尾打印链表
- 剑指offer--面试题6:从头到尾打印链表
- 【剑指offer】面试题6:从头到尾打印链表
- 剑指offer面试题5 从头到尾打印链表(c)
- 剑指offer面试题5 从头到尾打印链表(java)
- 面试题五 从头到尾打印单链表
- 从头到尾打印链表
- 从头到尾打印链表
- 从头到尾打印链表
- 从头到尾打印链表
- 从头到尾打印链表
- 从头到尾打印链表
- jquery实现圆点绕圆心循环转动
- [C# 网络编程系列]专题三:自定义Web服务器
- win32 socket阻塞与非阻塞函数及设置
- 图片上添加水印
- 508C — Anya and Ghosts
- 面试题5 从头到尾打印链表
- 兔子-Myeclipse configuration center
- opatch打补丁时遭遇失败
- poj解题报告——1416
- java多态性Overload和Override的区别
- wireshark基本用法及过虑规则
- addSubview和insertSubview 的区别解析
- MySQL在Ubuntu设置自启动的一个故障解决
- Nyoj148