0
点赞
收藏
分享

微信扫一扫

计算二叉树的某个节点的高度

王传学 2022-04-30 阅读 53
算法

· 

公式: 

定义函数 height,用于计算二叉树中的任意一个节点 p 的高度:

  

只能先递归向下,然后回溯,回溯时累加求出高度;

公式就是:

        当前node节点的高度=【(node节点的左子树的高度) VS (node节点的右子树的高度)的最大值】+1

·

代码示例:

/**
* 求出指定节点的高度
*          只能先递归向下,然后回溯,回溯时累加求出高度;
*          公式就是:当前node节点的高度=【(node节点的左子树的高度)和(node节点的右子树的高度)的最大值】+1
* @param node
*/
public int findHeightByNode(TreeNode node) {
	//公式:当前node节点的高度=【(node节点的左子树的高度)和(node节点的右子树的高度)的最大值】+1
	if (node == null) {
		  return 0; //叶子结点的左右子节点为null,直接返回0,回溯之后叶子节点的高度为1;
	}
	TreeNode leftNode = node.left; //左子结点
	TreeNode rightNode = node.right; //右子节点
	int height = Math.max(findHeightByNode(leftNode), findHeightByNode(rightNode))+1;
	return height;
}


举报

相关推荐

0 条评论