二叉树的最大深度
一、题目描述
给定一个二叉树,找出其最大深度。二叉树的最大深度为根节点到最远叶子节点的最长路径上的节点数。叶子节点时没有字节点的。
实例:
给定二叉树 [3,9,20,null,null,15,7],
返回:3
二、解题思路
遍历整个树,使用一个计数器每遍历一个节点加一。先遍历左子树,再遍历右子树。最终比比较左子树和右子树的值。那个大,那个就是最大深度。
三、解题方法
方法1:迭代
关于树的问题,大部分时用迭代的思路来。当节点为空时。直接返回0 即可。当不为零时给+1.递归的调用,相当与计数器。
代码实现
class Solution {
public int maxDepth(TreeNode root) {
if(root == null){
return 0;
}else{
int right = maxDepth(root.left)+1;
int left= maxDepth(root.right)+1;
return right>left?right:left;
}
}
}
标签:right,最大,遍历,二叉树,深度,root,节点,left
From: https://www.cnblogs.com/zjjtt/p/16728965.html