• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

111. 二叉树的最小深度

互联网 diligentman 2周前 (01-11) 10次浏览

题目描述

111. 二叉树的最小深度

解题思路

这个题目是典型的BFS算法应用的题目,我们需要采用层级遍历对树进行遍历,当层级遍历的过程中发现某个节点的左右子节点军为空的时候,则表示当前路径便是最短路径。

解题代码

public class TreeSolution {

    public int minDepth(TreeNode root) {

        if (root == null) {
            return 0;
        }

        Queue<TreeNode> treeNodeQueue = new LinkedList<TreeNode>();

        int depth = 0;

        treeNodeQueue.add(root);

        while (!treeNodeQueue.isEmpty()) {

            depth++;

            int size = treeNodeQueue.size();

            for (int i = 0; i < size; i++) {

                TreeNode treeNode = treeNodeQueue.poll();

                if (treeNode.left == null && treeNode.right == null) {
                    return depth;

                }
                if (treeNode.left != null) {
                    treeNodeQueue.add(treeNode.left);
                }
                if (treeNode.right != null) {
                    treeNodeQueue.add(treeNode.right);
                }
            }

        }
        return depth;
    }
}

{{o.name}}


{{m.name}}


喜欢 (0)