博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题之求二叉树的深度
阅读量:4683 次
发布时间:2019-06-09

本文共 597 字,大约阅读时间需要 1 分钟。

题目:输入一棵二叉树的根节点。求该树的深度。从根节点到叶子结点一次经过的结点形成树的一条路径,最长路径的长度为树的深度。根节点的深度为1。

struct BinaryTreeNode{	int m_nValue;	BinaryTreeNode *m_pLeft;	BinaryTreeNode *m_pRight;};
        假设一棵树仅仅有一个结点。它的深度为1。假设根结点仅仅有左子树而没有右子树,那么树的深度应该是其左子树的深度加1;相同假设根结点仅仅有右子树而没有左子树。那么树的深度应该是其右子树的深度加1。

假设既有右子树又有左子树。那该树的深度就是其左、右子树深度的较大值再加1。

基于以上思路,用递归代码将很easy,详细例如以下:

//递归求深度int TreeDepth(BinaryTreeNode *pRoot){	if (pRoot==NULL)		return 0;	//左子树深度	int nleft=TreeDepth(pRoot->m_pLeft);	//右子树深度	int nRight=TreeDepth(pRoot->m_pRight);	//返回深度大的子树深度加1	return (nleft>nRight)?(nleft+1):(nRight+1);}

转载于:https://www.cnblogs.com/yfceshi/p/6805493.html

你可能感兴趣的文章
FZU 2202——犯罪嫌疑人——————【思维题】
查看>>
SEO知识图一
查看>>
USACO hamming
查看>>
[开源JVM] yvm - 自制Java虚拟机
查看>>
iOS7和iOS8之后的弹窗的使用
查看>>
Open vSwitch安装
查看>>
网站错误日志
查看>>
HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
查看>>
document.domain 跨域问题[转]
查看>>
【Android】 No Activity found to handle Intent.
查看>>
Mysql 模糊匹配(字符串str中是否包含子字符串substr)
查看>>
Struts2 Action名称的搜索顺序
查看>>
C++ sort简单用法
查看>>
Oracle分区索引
查看>>
4.17上午
查看>>
IIS的ISAPI接口简介
查看>>
python:open/文件操作
查看>>
16 乘法口诀输出
查看>>
进程和线程的主要区别
查看>>
python的类的 静态属性 类方法 静态方法
查看>>