6-34 二叉树中值为奇数的结点数*

这篇博客介绍了如何编写一个函数,用于计算给定二叉树中值为奇数的节点个数。提供了函数原型、裁判程序、输入样例、输出样例以及参考代码,帮助理解并实现这个算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已知二叉树的结点结构定义如下:

typedef struct _NODE_
{
    int data;
    struct _NODE_ *lch, *rch;
} NODE;

说明:data 为数据域。lch 和 rch 为指示左、右孩子的指针域。

请编写函数,求二叉树的值为奇数的结点个数。

函数原型

int NumOdd(const NODE *root);

说明:root 为二叉树的根指针,函数值为二叉树中的奇数结点数。

裁判程序

int main()
{
    NODE *root;
    Create(&root);
    Input(&root);
    printf("%d\n", NumOdd(root));
    Destroy(&root);
    return 0;
}

说明:Create 函数创建空二叉树,Destroy 函数销毁二叉树。Input 函数按先根遍历顺序输入二叉树,结点值均为正整数,遇到空树时,输入零。

输入样例

85 37 94 53 0 0 21 0 0 0 18 46 0 60 32 0 87 0 0 0 95 0 72 0 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值