早教吧作业答案频道 -->其他-->
给定一棵用链表表示的二叉树,其根结点指针为t,编写求二叉树的叶子数目的算法。算法思想:可以用一个指针栈来实现,且其最大容量为maxsize,二叉树根指针为t,以二叉链表作存储结构
题目详情
给定一棵用链表表示的二叉树,其根结点指针为t,编写求二叉树的叶子数目的算法。
算法思想:可以用一个指针栈来实现,且其最大容量为maxsize,二叉树根指针为t,以二叉链表作存储结构。若一个结点的左孩子和右孩子均为空,则为叶子结点,若左或右不为空则进栈,计算栈内元素的个数即为叶子结点数。
算法思想:可以用一个指针栈来实现,且其最大容量为maxsize,二叉树根指针为t,以二叉链表作存储结构。若一个结点的左孩子和右孩子均为空,则为叶子结点,若左或右不为空则进栈,计算栈内元素的个数即为叶子结点数。
▼优质解答
答案和解析
将二叉树遍历一边即可
static int count = 0;//记录二叉树叶子节点的个数
struct Node{
int data;
Node *rigthNode;//右孩子
Node *leftNode;//左孩子
};
int fine_Node(Node * t)//Node 表示二叉树节点
{
if(t == Null)
{
return 0;
}
else if((fine_Node(t->rigthNode)+fine_Node(t->leftNode)) != 0)
{
return 1;
}
else
{
count++;
return 1;
}
}
static int count = 0;//记录二叉树叶子节点的个数
struct Node{
int data;
Node *rigthNode;//右孩子
Node *leftNode;//左孩子
};
int fine_Node(Node * t)//Node 表示二叉树节点
{
if(t == Null)
{
return 0;
}
else if((fine_Node(t->rigthNode)+fine_Node(t->leftNode)) != 0)
{
return 1;
}
else
{
count++;
return 1;
}
}
看了 给定一棵用链表表示的二叉树,...的网友还看了以下:
数据结构-广义表1、广义表A(a,(b,c,(d,e,f),(),g,h,(r,s,t))的长度, 2020-05-14 …
已知字母组合成英语单词1、e e t t i n h r 2、e e r a t w h 3、o 2020-05-14 …
令文法G[E]为:E→T|E+T|E-TT→F|T*F|T/FF→(E)|i证明E+T*F是它的一 2020-07-08 …
已知函数y=(e^x-a)^2+(e^(-x)-a)^2(a属于R,a不等于0),求y的最小值Y= 2020-07-21 …
一定积分问题,不难.定积分:∫下限0上限+∞,(xe^-x)/[(1+e^-x)^2]dx想把-x 2020-07-31 …
f(x)=e^x+∫tf(t)dt-x∫f(t)dt解f'(x)=e^x+xf(x)-∫f(t)d 2020-07-31 …
关于参数方程的问题1.x=e^t+e^(-t)y=2(e^t-e^(-t))e=2.71828(t 2020-08-02 …
已知(1+1/x)^x=e,e^x-1=x,limx→1(x+x^2+...+x^n-n)/(x-1 2020-10-31 …
以A为根的二叉树T={D,{R}},其中D={A,B,C,D,E},R={,,,},则该二叉树的前序 2020-12-05 …
使用递归方法创建一个非空二叉树T使用递归方法创建一个非空二叉树T。2.对二叉树T进行先序、中序、后序 2020-12-05 …