二叉树最深层次元素求和(基于层序遍历算法)

给定任意二叉树,请计算最深层元素的和.

输入

按先序遍历顺序输入待初始化二叉树的结点,若节点的子树为空,则对应的位置为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(
上一篇:二叉树|集合1(简介)


下一篇:DS森林叶子编码