给定任意二叉树,请计算最深层元素的和.
输入
按先序遍历顺序输入待初始化二叉树的结点,若节点的子树为空,则对应的位置为0.
输出
请输出二叉树最深层元素的和.
输入示例
1 3 5 0 0 3 0 0 2 0 9 0 0
该示例对应的二叉树为:
1
/ \
3 2
/ \ \
5 3 9
输出示例
17
[程序代码]
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define Yes 1
#define No 0
typedef short ElemType;
typedef short Status;
struct BiTreeNode/* 二叉树结点定义 */
{
ElemType data;
struct BiTreeNode *LChild;/* 左孩子指针 */
struct BiTreeNode *RChild;/* 右孩子指针 */
};
struct QueueNode/* 链队列结点 */
{
struct BiTreeNode *pointer;/* 存储二叉树的根结点地址 */
struct QueueNode *next;
};
struct QueueInfo/* 链队列信息结点 */
{
QueueNode *Qfront;/* 队头指针 */
QueueNode *Qrear;/* 队尾指针 */
};
/* */
void CreateBiTree(BiTreeNode* &T);
Status InitQueue(