算法题练习:计算二叉树的深度

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。


class Solution{
    /**
     * 计算二叉树的深度
     * */
    public int maxDepth(TreeNode treeNode){

        if(null == treeNode){
            return 0 ;
        }
        //
        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        int a = 0 ;
        queue.offer(treeNode);
        while(!queue.isEmpty()){
            int size = queue.size();
            while(size > 0) {
                TreeNode treeNode1 = queue.poll();
                if (null != treeNode1.left) {
                    queue.offer(treeNode1.left);
                }

                if (null != treeNode.right) {
                    queue.offer(treeNode1.right);
                }
                size--;
            }
            a++;
        }
        return a ;
    }
}


class TreeNode {
    int val ;
    TreeNode left;
    TreeNode right ;
    TreeNode(int x){
        this.val = x ;
    }
}

猜你喜欢

转载自blog.csdn.net/wszhongguolujun/article/details/107653636