原题链接:信息学奥赛一本通T1340-扩展二叉树
解题思路:
注意事项:
参考代码:
#include <stdio.h> #include <string.h> typedef struct Node { char value; struct Node *left,*right; } Node; Node* build_tree(char *pre, int *index) { char ch = pre[*index]; (*index)++; if (ch == '.' || ch == '\0') { return NULL; } Node *node = (Node*)malloc(sizeof(Node)); node->value = ch; node->left = build_tree(pre, index); node->right = build_tree(pre, index); return node; } void ZhongXu(Node *s) { if(s!=NULL) { ZhongXu(s->left); putchar(s->value); ZhongXu(s->right); } } void HouXu(Node *s) { if(s!=NULL) { HouXu(s->left); HouXu(s->right); putchar(s->value); } } int main() { char pre[100]; Node *head=NULL; int s=0; scanf("%s", pre); head = build_tree(pre,&s); ZhongXu(head); printf("\n"); HouXu(head); printf("\n"); return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复