面试题5:从尾到头打印链表
来源:互联网 发布:1991年nba总决赛数据 编辑:程序博客网 时间:2024/06/06 00:44
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值
思路:
1,栈,根据面试官需要是否要改变链表结构
2,递归,原理用到栈
3,可以改变链表结构,就把链头变链尾,改变指针方向
源程序
#include <stdio.h>#include <stdlib.h>#include "stack.h"//尾插法建立链表void create_list(LinkList &L){LinkList p,q;int e;L=(LinkList)malloc(sizeof(Node));L->next=NULL;q=L;printf("建立链表以0结束\n");scanf("%d",&e);while(e){p=(LinkList)malloc(sizeof(Node));p->data=e;p->next=NULL;q->next=p;q=p;scanf("%d",&e);}}//递归方法输出链表void PrintReverse(LinkList &L){if(L!=NULL){if(L->next!=NULL){PrintReverse(L->next);printf("%d\t",L->next->data);}}}int main(){LinkList L,q;int m;create_list(L);q=L;LiStack S;InitStack(S);L=L->next;printf("原链表:\n");while(L){Push(S,L->data);printf("%d\t",L->data);L=L->next;}printf("\n递归输出新链表:\n");PrintReverse(q);printf("\n栈链表:\n");while(!StackEmpty(S)){Pop(S,m);printf("%d\t",m);}return 0;}
结果
建立链表以0结束1 2 3 4 0原链表:1 2 3 4递归输出新链表:4 3 2 1栈链表:4 3 2 1
- 面试题5:从尾到头打印链表
- 面试题5 从尾到头打印链表
- 面试题5 从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5-从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5-从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 【面试题5】从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5:从尾到头打印链表
- 面试题5: 从尾到头打印链表
- LCA的Tarjan算法
- ftp xferlog日志说明
- 多边形面 并集 运算思路(想法)
- GUI系统之SurfaceFlinger(1)OpenGLES与EGL
- 键盘小游戏
- 面试题5:从尾到头打印链表
- solaris管理命令svcadm(服务状态管理,启动、停止等)
- 为了流量,你敢不敢冒风险!
- 两个LINUX之间使用SCP传文件
- (黑马程序员)数组转集合要点总结
- 安装VIM中文帮助文档
- UITextField的使用
- windows下查找打开端口的进程,并关闭
- A. Little Xor