给定任意二叉树,请计算最深层元素的和.
按先序遍历顺序输入待初始化二叉树的结点,若节点的子树为空,则对应的位置为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(