当前位置:网站首页>February 13, 2022 -5- maximum depth of binary tree

February 13, 2022 -5- maximum depth of binary tree

2022-07-05 23:01:00 Procedural ape does not lose hair 2

Given a binary tree , Find out the maximum depth .

The depth of a binary tree is the number of nodes in the longest path from the root node to the farthest leaf node .

explain : A leaf node is a node that has no children .

Example :
Given binary tree [3,9,20,null,null,15,7],

3

/
9 20
/
15 7
Return to its maximum depth 3 .

java Code :

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {

    // Method 1 : Depth first 
    // public int maxDepth(TreeNode root) {
    //     if(root == null) {
    //         return 0;
    //     }

    //     int leftDepth = maxDepth(root.left);
    //     int rightDepth = maxDepth(root.right);

    //     return Math.max(leftDepth, rightDepth) +1 ;

    // }

    // Method 2 : breadth-first 
    public int maxDepth(TreeNode root) {
        if(root == null) {
            return 0;
        }

        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
        int ans  = 0;
        while(!queue.isEmpty()) {
            int size = queue.size();
            while(size>0) {
                TreeNode tree = queue.poll();
                if(tree.left != null) {
                    queue.offer(tree.left);
                }
                if(tree.right != null) {
                    queue.offer(tree.right);
                }

                size--;
            }

            ans++;
        }

        return ans;
    }
}
原网站

版权声明
本文为[Procedural ape does not lose hair 2]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140348289259.html