본문으로 바로가기

Description

주어진 이지트리의 최대 깊이를 찾는 문제입니다.

Given the root of a binary tree, return its maximum depth.

A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Example 1:

Input: root = [3,9,20,null,null,15,7]
Output: 3

Example 2:

Input: root = [1,null,2]
Output: 2

Constraints:

  • The number of nodes in the tree is in the range [0, 104].
  • -100 <= Node.val <= 100

Solution 1. BFS

public int maxDepth(TreeNode root) {
    int depth = 0;
    Queue<TreeNode> q = new LinkedList<>();
    if(root == null)return depth;
    q.offer(root);
    while(!q.isEmpty()){
        int qSize = q.size();
        for (int i = 0; i < qSize; i++) {
            TreeNode cur = q.poll();
            if(cur.left != null)q.offer(cur.left);
            if(cur.right != null)q.offer(cur.right);
        }
        depth++;
    }
    return depth;
}

너비우선탐색(Breadth First Search)를 통해 트리의 최대 깊이를 찾아냅니다.

Reference

 

Maximum Depth of Binary Tree - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com