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
'알고리즘 > LeetCode' 카테고리의 다른 글
[LeetCode] 101. Symmetric Tree - 문제풀이 (0) | 2022.02.14 |
---|---|
[LeetCode] 78. Subsets - 문제풀이 (0) | 2022.02.13 |
[LeetCode] 560. Subarray Sum Equals K - 문제풀이 (0) | 2022.02.11 |
[LeetCode] 532. K-diff Pairs in an Array - 문제풀이 (0) | 2022.02.09 |
[LeetCode] 258. Add Digits - 문제풀이 (0) | 2022.02.08 |