二叉树求叶子数的数学模型是:
三种情况: 第一种, 当a=NULL时, 函数值为0 ;
第二种, 当左子树和右子树都为空时, 返回1
第三种, 排除以上所有的就是两边子树叶子加起来,返回一个和
因此思路就是 第一步 头文件定义部分:包括创建二叉树的函数,前面一篇文章有讲到头文件,一样的。
#include<stdlib.h>
#include<stdio.h>
typedef struct bnode
{
int data;
struct bnode *lchild,* rchild;
}btree;
btree *insert_node(btree *root,int node)
{
btree *newpointer;
btree *currentpointer;
btree *parentpointer;
newpointer=(btree *)malloc(sizeof(btree));
newpointer->data=node;
newpointer->lchild=NULL;
newpointer->rchild=NULL;
if(root==NULL)
return newpointer;
else
{
currentpointer=root;
while(currentpointer!=NULL)
{
parentpointer=currentpointer;