先序输出叶节点
来源:互联网 发布:线程优化 编辑:程序博客网 时间:2024/05/08 21:37
先序输出叶节点
题目描述:
本题要求按照先序遍历的顺序输出给定二叉树的叶结点。
函数接口定义:
void PreorderPrintLeaves( BinTree BT );
其中BinTree结构定义如下:
typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};
函数PreorderPrintLeaves应按照先序遍历的顺序输出给定二叉树BT的叶结点,格式为一个空格跟着一个字符。
裁判测试程序样例:
#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};BinTree CreatBinTree(); /* 实现细节忽略 */void PreorderPrintLeaves( BinTree BT );int main(){ BinTree BT = CreatBinTree(); printf("Leaf nodes are:"); PreorderPrintLeaves(BT); printf("\n"); return 0;}
Leaf nodes are: D E H I
代码:
void PreorderPrintLeaves( BinTree BT ){ if(BT) { if(BT->Left) PreorderPrintLeaves(BT->Left); if(BT->Right) PreorderPrintLeaves(BT->Right); if(NULL == BT->Left && NULL == BT->Right) printf(" %c",BT->Data); }}
代码分析:
用递归的方式进行,但是输出的时候要进行控制,确保该节点是叶子节点。
阅读全文
0 0
- 先序输出叶节点
- PTA4-11 先序输出叶结点
- 二叉树输出先序遍历的第k个节点
- 【数据结构_树_Tree_1052】先序输入后输出指定父节点
- 4-11 先序输出叶结点 (15分)
- 4-11 先序输出叶结点 (15分)
- 4-11 先序输出叶结点 (15分)
- PTA 4-4 先序输出叶结点 【基础题】
- 先序输出叶结点(15 分)
- [C/C++] 先序建立二叉树| 先序、中序、后序遍历二叉树| 求二叉树深度、节点数、叶节点数 算法实现
- 用凹入表输出先序二叉树-按先中后顺序输出
- 先序建树中序后序遍历及求叶子节点个数
- 数据结构与算法——先序输出叶结点(C语言)
- 数据结构与算法题目集(中文)4-11 先序输出叶结点 (15分)
- 6-8 先序输出叶结点(15 point(s))
- 二叉树的先序 中序 后序 层次遍历 求叶节点个数、深度、最大元、最小元
- 将二叉树从叶节点到根节点输出
- uva536(先序 + 中序输出后序)
- 使用socket封装库-waisock编程入门
- AS connection is not connect
- ImageView铺满整个组件
- 2.Mac下常用软件的安装
- SQL Server 2008入门到精通完整版教程
- 先序输出叶节点
- Jzoj5421 嘟嘟噜
- 线程的创建方式
- 各种滤波算法的比较
- 二叉树
- luogu1020 导弹拦截
- Windows10+Visual Studio2013+caffe GPU+CPU环境详细配置
- Java代码将数据导出到Excel
- c++虚拟成员函数