递归求解二叉树的深度
2014-11-11 23:27
211 查看
首先定义节点
class Node{
int data = 0;
Node left = null;
Node right = null;
}假设根节点为
Node root;求解树的深度为
int getTreeDepth(Node node){
if(node==null) return 0;
int leftDepth = getTreeDepth(node.left);
int rightDepth = getTreeDepth(node.right);
return leftDepth>rightDepth?leftDepth+1:rightDepth+1;
}求解为
getTreeDepth(node);
class Node{
int data = 0;
Node left = null;
Node right = null;
}假设根节点为
Node root;求解树的深度为
int getTreeDepth(Node node){
if(node==null) return 0;
int leftDepth = getTreeDepth(node.left);
int rightDepth = getTreeDepth(node.right);
return leftDepth>rightDepth?leftDepth+1:rightDepth+1;
}求解为
getTreeDepth(node);
相关文章推荐
- 【leetcode Java】二叉树的递归遍历以及最大深度的求解(Java)
- 二叉树深度求解(递归,非递归)
- 递归求解二叉树任意一结点的深度
- 求解二叉树的深度(递归和非递归)
- [LeetCode系列] 二叉树最大深度求解问题(C++递归解法)
- python剑指offer系列通过求二叉树的深度来理解递归
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 二叉树建立、前序、中序、后序、树深度求解
- 判断完全二叉树以及求二叉树深度的递归与非递归算法实现
- (剑指offer)二叉树的深度(递归与非递归版本)
- 二叉树的前、中、后序遍历(递归和非递归)、层序遍历、深度、叶子节点个数
- 二叉树创建、遍历(递归和非递归)、深度及求取二叉树中和为某一值的所有路径
- 二叉树深度优先(DFS)和广度优先(BFS)算法的非递归实现
- 给出二叉树的先序和中序遍历,递归求解后序遍历
- [LeetCode] 递归求解二叉树路径之和是否等于给定值(2)
- DS之求解二叉树的叶子结点和深度
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 二叉树的最小深度(递归)
- leetcode 513. Find Bottom Left Tree Value(C语言,二叉树,深度,递归)54
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现