根据输入的二叉树前序序列(以单个字符作为一个结点的信息)和中序序列,来构造一棵二叉树,然后输出该树的后序序列,以及该树中所有度为1的结点。
3条回答 默认 最新
关注
#include<stdio.h> #include <malloc.h> typedef struct LinkList { char data; LinkList* lchild; LinkList* rchild; }BiNode,*BiTree; BiTree createBiTree(BiTree &T) { char d = getchar(); if (d == '#') T = NULL; else { T = (BiTree)malloc(sizeof(BiNode)); T->data = d; T->lchild = createBiTree(T->lchild); T->rchild = createBiTree(T->rchild); } return T; } void PostOrder(BiTree T)//后序 { if (T) { PostOrder(T->lchild); PostOrder(T->rchild); printf("%c",T->data); } } void printOnce(BiTree T) { if (T == NULL) return; if ((T->lchild == NULL && T->rchild != NULL) || (T->lchild != NULL && T->rchild == NULL)) { printf("%c ", T->data); } printOnce(T->lchild); printOnce(T->rchild); } int main() { BiTree T=NULL; printf("输入先序遍历结点,建立二叉树\n"); T = createBiTree(T); printf("后序遍历结果:\n"); PostOrder(T); printf("\n输出所有度数为一的结点:\n"); printOnce(T); }
运行效果
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 大一Python字典
- ¥15 multisim电路设计(相关搜索:设计报告)
- ¥15 从github上下载的项目到ecplise上咋运行
- ¥15 PC-lint Plus
- ¥15 gpl24676注释
- ¥15 php5.3内存泄露
- ¥15 DigSilent如何复制复合模型到自己案例?
- ¥15 求日版华为b610s-77a 官方公版固件,有偿
- ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)
- ¥15 linux tsi721的驱动编译后 insmod 提示 报错