面试题5
来源:互联网 发布:求矩阵的行列式的值 编辑:程序博客网 时间:2024/06/02 03:55
1 题目描述
输入一个链表的头指针,从尾到头反过来打印出每一个节点的值
2 算法描述
第一个遍历到的节点最后一个输出,而最后一个遍历到的节点第一个输出,典型的“后进先出”,可以用栈实现这种顺序。既然想到用栈来实现这个函数,而递归在本质上就是一个栈结构,于是很自然地又想到了用递归来实现。
#include <stdio.h>typedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;linklist creater(){ char ch; linklist head; listnode *p,*r; head=NULL; r=NULL;/*r为尾指针*/ while((ch=getchar())!='\n'){ p=(listnode *)malloc(sizeof(listnode)); p->data=ch; if(head==NULL) head=p;/*head 指向第一个插入结点*/ else r->next=p;/*插入到链表尾部*/ r=p;/*r指向最新结点,即最后结点*/ } if(r!=NULL) r->next=NULL;/*链表尾部结点的后继指针指定为空*/ return head; } void printlistreversingly_iteratively(listnode* head){ if(head==NULL){ return; }else{ printlistreversingly_iteratively(head->next); printf("%c",head->data); }}main(){ linklist newlist=creater(); printlistreversingly_iteratively(newlist);}
0 0
- Java面试题(5)
- C++面试题5
- .net面试题5
- 面试题5
- 面试题(5)
- Java面试题(5)
- 面试题5
- 嵌入式面试题5
- 微软面试题 5
- 嵌入式面试题5
- hibernate面试题5
- 网络面试题5
- 面试题5
- 面试题5
- IOS面试题5
- c++面试题5
- 5个面试题
- 面试题总结5
- Android 第三方应用广告拦截实现
- 1601 - The Morning after Halloween(BFS)
- 循环节的长度,循环节,循环次数(kmp)
- 事物发展总会出人意料
- Binary Tree Preorder Traversal
- 面试题5
- 菜鸟成长路上的自我激励
- HDU 3308 LCIS (线段树·单点更新·区间合并)
- java快速排序
- Android开发学习笔记:Intent的简介以及属性的详解
- uva10341(解方程)
- mybatis异常:Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}问题分析及解决
- 创建属于自己的代码仓库吧!
- poj 3009 Curling 2.0