栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PTA 二叉树叶结点值和最大层 (14 分)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PTA 二叉树叶结点值和最大层 (14 分)

  • 已知一棵非空二叉树结点的数据域为不等于0的整数,请编写程序找出该二叉树中叶结点数据值之和最大的层。
输入格式:
  • 输入为一组用空格间隔的整数,个数不超过100个,表示带空指针信息的二叉树先根序列。
输出格式:
  • 输出为一个整数,表示叶结点数据值之和最大的层,如果存在多个满足条件的层,则输出最下面一层。
输入样例1:
1 2 0 0 3 0 0
输出样例1:
1
输入样例2:
1 -2 0 0 3 -1 0 0 -1 0 0
输出样例2:
2

AC:
#include 
using namespace std;
int b[100] = {0};

typedef struct BiTreeNode
{
    int data;
    struct BiTreeNode *lchild, *rchild;
} BiTreeNode, *linkBiTreeNode;

linkBiTreeNode CreateBiTree1()
{
    int Data;
    linkBiTreeNode node;
    scanf("%d", &Data);
    if (Data == 0)
    {
        node = NULL;
    }
    else
    {
        node = (linkBiTreeNode)malloc(sizeof(BiTreeNode));
        node->data = Data;
        node->lchild = CreateBiTree1();
        node->rchild = CreateBiTree1();
    }
    return node;
}

int sum = 0;
int x = 1;

void P(linkBiTreeNode BT)
{
    if (BT)
    {
        if (BT->lchild == NULL && BT->rchild == NULL)
            b[x] += BT->data;

        P(BT->lchild);
        P(BT->rchild);
        if (BT->lchild != NULL && BT->rchild != NULL)
            x++;
    }
    return;
}

int compare(int *a, int k)
{
    int i, j, temp = a[0], l = 0;
    for (j = 1; j < k; j++)
    {
        if (temp <= a[j])
        {
            temp = a[j];
            l = j;
        }
    }
    return l;
}

int main()
{
    std::ios_base::sync_with_stdio(false);
    linkBiTreeNode T = NULL;
    T = CreateBiTree1();
    P(T);
    int l = compare(b, x);
    cout << l << endl;
    return 0;
}

  • 强调下 return 和 return 0 的区别;
  • 1、退出方式不同

return 0表示程序正常退出,return 0表示程序异常退出,return 语句可以用来返回变量或指针中的值,也可以用来返回0,表示返回为空,返回一个代数值,通常在子函数的末尾。

  • 2.不同的含义

return 0表示函数的正常结束,return 0表示函数异常终止,被调用的函数 return 1只是向主函数提供一个标志,指示执行遇到异常,然后返回主函数进行处理,继续执行。

  • 3.布尔类型返回不同

return 0:返回false的权利,return 0:true;通常这样的函数用于实现一个逻辑,以确定是否有数据,或检查是否有数据。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号