一个树的深度等于max(左子树深度,右子树深度)+1。可以使用递归实现。

int DepthOfTree(BiTreeNode* root)
{if(NULL == root){return 0;}return max(DepthOfTree(root->leftChild), DepthOfTree(root->rightChild))+1;
}

也可以采用下面的思路:

类似于递归的先序遍历,层层向下计算,每向下计算一层,深度 
                 就加1,CalTreeDepth(PNode pn, unsigned n)中的第二个 
                 参数表示上一层的深度,所以程序在调用时, 假设proot为整个 
                 树的根节点,则其深度depth为: 
                                   unsigned depth = CalTreeDepth(proot, 0); 
*/ 
代码如下:

unsigned CalTreeDepth(PNode pn, unsigned n)
{static unsigned d = 0;          //使用static变量d来记录出现的最大深度if(pn){if(n+1 > d)d = n+1;CalTreeDepth(pn->left, n+1);CalTreeDepth(pn->right, n+1);}return d;
}

微软面试题:写程序找出二叉树的深度相关推荐

  1. 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字

    package demo;import java.util.Arrays;/** 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.*/ //num ...

  2. 算法:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。(异或符号的妙用)

    异或的性质: 1.交换律 2.结合律(即(a^b)^c == a^(b^c)) 3.对于任何数x,都有x^x=0,x^0=x 4.自反性 A XOR B XOR B = A xor  0 = A 算法 ...

  3. ACMNO.11 一个数如果恰好等于它的因子之和,这个数就称为“完数“。 例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数“。 编程序找出N之内的所有完数,并按下面格式输出其因子

    写在前面,心得感悟~ 代码越来越有难度! 这个ACM题,我调试了 将近50次~ 一个小时! 真的是,年纪轻轻的搞什么ACM呀! 关于题的解决思路放在下面再写吧! 题目描述 一个数如果恰好等于它的因子之 ...

  4. Java基础算法题(18):两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三

    查看所有50道基础算法题请看: Java的50道基础算法题 两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c ...

  5. Python 两个乒乓球队进行比赛,请编程序找出两队参赛对手的名单,不用库算法

    题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单 这题看了 ...

  6. 【小米校招笔试】假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。

    2016年小米校招笔试第三题(西安站) 3 假如已知有n个人和m对好友关系(存于数字r).如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共 ...

  7. Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数

    10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数 题目 破题 代码 运行结果 题目 10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数 破题 类似编程 ...

  8. Java黑皮书课后题第5章:**5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和。就称之为完全数。如6是第一个完全数,因为6=1+2+3。10000以下的完全数有4个,编写程序找出

    5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和.就称之为完全数.如6是第一个完全数,因为6=1+2+3.10000以下的完全数有4个,编写程序找出 题目 题目概述 破题 代码 运行结 ...

  9. C语言学习之一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。

    一个数如果恰好等于它的因子之和,这个数就称为"完数".例如:6的因子为1,2,3,而6=1+2+3,因此6是"完数".编程序找出1000之内的所有完数,并按下面 ...

最新文章

  1. JS导出PDF插件(支持中文、图片使用路径)
  2. GCF_000238955.2 Maylandia zebra 斑马拟丽鱼 Scaffold
  3. android systemtrace 报错
  4. java schema名_关于Schema的名字空间
  5. python人工智能_人工智能福利丨Python核心语法实战
  6. HDFS的Block size的默认大小
  7. 「SCOI2011」棘手的操作
  8. 2021“鲜美生活”新趋势:中国食品行业白皮书
  9. mysql 无法处理非法数据_MySQL 处理非法数据
  10. 计算机行业的pest分析,2014-2018年中国电脑外设行业市场发展现状及未来趋势调研报告...
  11. 多值类别特征加入CTR预估模型的方法
  12. selenium使用webdriver新开标签页
  13. 手机modem开发(5)---LTE基本架构
  14. Vue里 v-for原理
  15. Java中volatile关键字实现原理
  16. 别再一知半解啦,索引其实就这么回事!
  17. Python web实时消息服务器后台推送技术方案---GoEasy
  18. 白话计算机入门书籍--《穿越计算机的迷雾》有感
  19. 分区混乱,C盘不是系统盘怎么办?
  20. java集合实现冒泡排序_java实现冒泡排序算法

热门文章

  1. Linux上安装集群版Redis
  2. 代码编辑器VS Code的“Chromium”版来啦:安全、开源、保护你的隐私
  3. 谷歌云TPU上可以用Julia啦!0.23秒跑100张图片,Jeff Dean点赞推荐
  4. 马斯克认怂和解,特斯拉股价大涨17%,市值回涨78亿美元
  5. 英伟达发布全球最大GPU:性能提升10倍,售价250万
  6. 高性能 socket 框架
  7. Android - Activity 生命周期
  8. PDF组件 Aspose.Pdf V17.6发布 | 新增单元格文档旋转功能
  9. apache、nignx等日志分析工具
  10. oracle 制定定时任务