二叉树的最大深度

二叉树的最大深度

一、题目描述

给定一个二叉树,找出其最大深度。二叉树的最大深度为根节点到最远叶子节点的最长路径上的节点数。叶子节点时没有字节点的。
实例:

给定二叉树 [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;
        }
    }
}
posted @ 2022-09-25 21:12  z_coding  阅读(28)  评论(0)    收藏  举报