此题该咋做?(C++放代码)

描述
给出二叉树的完全二叉树的数组存储形式的数据。
请计算该二叉树的左叶子数并输出。
左叶子是指它的左右children为空,而且它是父亲的左children
输入格式
第一行输入一个整数t,表示有t个二叉树
第二行起,每行输入一个数组,先输入数组长度n,再输入数组内数据,每个数据之间用空格隔开,输入的数据都是非负整数
连续输入t行
输出格式
每行输出对应二叉树的左叶子数量。
样例输入
1
4 1 2 0 3
样例输出
1
数据范围
1=<t<=1000, 1=<n<=1000。

根据完全二叉树的性质。
可以非常容易得出 在满二叉树的时候,他的数组长度是多少个。
例如:样例中的长度为4,1 2 0 3(这些数字的意义并不明确)
满二叉树的情况是 3(2^2-1)-7(2^3-1);
很显然,叶子结点数量 只有1个,而且肯定是左孩子。
如果数组长度是5,
那么叶子结点的数量 只有2个,是左孩子 右孩子。但符合题意得还是 1个左叶子结点。
(在深度为2及2以上的情况下,叶子结点从偶数开始排列。
即求叶子结点中,包含几个偶数。

img

没看明白啊,数组c的数据从哪来的啊?

hi,亲~ 小助手这边把题目重新分配到了新的专家!专家预计晚上给您最新的答复,请您耐心等待~

感谢您对有问必答的支持~