111.二叉树的最小深度
LeetCode难度:简单
问题:
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明:
叶子节点是指没有子节点的节点。
思路:
- 广度优先遍历。利用队列自顶向下每次遍历一层所有结点,创建两个队列:nodes存储遍历当前层结点,temp存储当前层结点的下一层子结点,每层结点开始遍历的时候就将层数计数+1 ,在遍历过程中一旦遇到叶子结点就返回cnt。
代码实现:
class Solution {
public int minDepth(TreeNode root) {
if (root == null) return 0;
//nodes存储当前层结点,temp存储下一层结点
Queue<TreeNode> nodes = new LinkedList<>(), temp;
nodes