😺
LeetCoding Challenge Oct. 22: Minimum Depth of Binary Tree
LeetCode October Challenge の 22 日目。
今日の問題は Minimum Depth of Binary Tree。
問題の概要
- 与えられた二分木について、根から葉ノードまでの最短距離を求める
考え方
- これは問題を見た瞬間に幅優先探索しか思いつかないやつですね
- 実装 → submit → accept 👍
- Runtime 0ms 👍👍
コード
class Solution {
public int minDepth(TreeNode root) {
if (root == null) {
return 0;
}
Queue<TreeNode> current = new LinkedList<>();
current.add(root);
Queue<TreeNode> next = new LinkedList<>();
int depth = 1;
while (true) {
while (!current.isEmpty()) {
TreeNode node = current.poll();
if (node.left == null && node.right == null) {
return depth;
}
if (node.left != null) {
next.add(node.left);
}
if (node.right != null) {
next.add(node.right);
}
}
depth++;
Queue<TreeNode> t = current;
current = next;
next = t;
}
}
}
Discussion