微软面试题:写程序找出二叉树的深度
一个树的深度等于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; }
微软面试题:写程序找出二叉树的深度相关推荐
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
package demo;import java.util.Arrays;/** 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.*/ //num ...
- 算法:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。(异或符号的妙用)
异或的性质: 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 算法 ...
- ACMNO.11 一个数如果恰好等于它的因子之和,这个数就称为“完数“。 例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数“。 编程序找出N之内的所有完数,并按下面格式输出其因子
写在前面,心得感悟~ 代码越来越有难度! 这个ACM题,我调试了 将近50次~ 一个小时! 真的是,年纪轻轻的搞什么ACM呀! 关于题的解决思路放在下面再写吧! 题目描述 一个数如果恰好等于它的因子之 ...
- 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 ...
- Python 两个乒乓球队进行比赛,请编程序找出两队参赛对手的名单,不用库算法
题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单 这题看了 ...
- 【小米校招笔试】假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。
2016年小米校招笔试第三题(西安站) 3 假如已知有n个人和m对好友关系(存于数字r).如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共 ...
- Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数
10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数 题目 破题 代码 运行结果 题目 10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数 破题 类似编程 ...
- Java黑皮书课后题第5章:**5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和。就称之为完全数。如6是第一个完全数,因为6=1+2+3。10000以下的完全数有4个,编写程序找出
5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和.就称之为完全数.如6是第一个完全数,因为6=1+2+3.10000以下的完全数有4个,编写程序找出 题目 题目概述 破题 代码 运行结 ...
- C语言学习之一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。
一个数如果恰好等于它的因子之和,这个数就称为"完数".例如:6的因子为1,2,3,而6=1+2+3,因此6是"完数".编程序找出1000之内的所有完数,并按下面 ...
最新文章
- JS导出PDF插件(支持中文、图片使用路径)
- GCF_000238955.2 Maylandia zebra 斑马拟丽鱼 Scaffold
- android systemtrace 报错
- java schema名_关于Schema的名字空间
- python人工智能_人工智能福利丨Python核心语法实战
- HDFS的Block size的默认大小
- 「SCOI2011」棘手的操作
- 2021“鲜美生活”新趋势:中国食品行业白皮书
- mysql 无法处理非法数据_MySQL 处理非法数据
- 计算机行业的pest分析,2014-2018年中国电脑外设行业市场发展现状及未来趋势调研报告...
- 多值类别特征加入CTR预估模型的方法
- selenium使用webdriver新开标签页
- 手机modem开发(5)---LTE基本架构
- Vue里 v-for原理
- Java中volatile关键字实现原理
- 别再一知半解啦,索引其实就这么回事!
- Python web实时消息服务器后台推送技术方案---GoEasy
- 白话计算机入门书籍--《穿越计算机的迷雾》有感
- 分区混乱,C盘不是系统盘怎么办?
- java集合实现冒泡排序_java实现冒泡排序算法
热门文章
- Linux上安装集群版Redis
- 代码编辑器VS Code的“Chromium”版来啦:安全、开源、保护你的隐私
- 谷歌云TPU上可以用Julia啦!0.23秒跑100张图片,Jeff Dean点赞推荐
- 马斯克认怂和解,特斯拉股价大涨17%,市值回涨78亿美元
- 英伟达发布全球最大GPU:性能提升10倍,售价250万
- 高性能 socket 框架
- Android - Activity 生命周期
- PDF组件 Aspose.Pdf V17.6发布 | 新增单元格文档旋转功能
- apache、nignx等日志分析工具
- oracle 制定定时任务