二叉树的最小深度,leetcode习题

二叉树的最小深度

先说一下什么是最小深度

二叉树的最小深度,leetcode习题

搞清楚了什么事最小深度,接下来写一下代码的实现

public class MinDepth {
    public int minDepth(TreeNode root){

        Deque<TreeNode> deque = new LinkedList<>();
        deque.offer(root);
        int depth = 0;
        while (!deque.isEmpty()){


            int size = deque.size();
            depth++;
            for (int i=0;i<size;i++){
                TreeNode node = deque.poll();
                //如果是叶子节点,直接返回深度
                if (node.left==null&&node.right==null){
                    return depth;
                }
                if (node.left != null) deque.offer(node.left);
                if (node.right != null) deque.offer(node.right);

            }

        }

        return depth;
    }
}

思路:
跟求最大深度唯一的不同就是多了一个对叶子节点的判断,如果判断到此节点为叶子节点,则立即返回深度。
上一篇:ora-00245报错解决方法


下一篇:leetocde199. 二叉树的右视图python