Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LC 111. 二叉树的最小深度 #32

Open
HealUP opened this issue May 18, 2023 · 0 comments
Open

LC 111. 二叉树的最小深度 #32

HealUP opened this issue May 18, 2023 · 0 comments
Labels
算法 记录刷题记录,代码随想录

Comments

@HealUP
Copy link
Owner

HealUP commented May 18, 2023

111. 二叉树的最小深度

思路:遍历每一层的时候,记录次数;当该节点的左右节点都为空的时候,直接返回当前的深度即可,如果左右节点不为空就加入队列

class Solution {
    public int minDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        Queue<TreeNode> que = new LinkedList<>();
        que.offer(root);
        int min = 0;
        while (!que.isEmpty()) {
            int len = que.size();
            min++;
            for (int i = 0; i < len; i++) {
                TreeNode node = que.poll();
                if (node.left == null && node.right == null) {
                    return min;//该节点的左右节点大都为空直接返回当前的深度
                }
                //加入该节点的左右节点
                if (node.left != null) que.offer(node.left);
                if (node.right != null) que.offer(node.right);
            }
        }
        return min;
    }
}
@HealUP HealUP added 算法 记录刷题记录,代码随想录 二叉树 labels May 18, 2023
@HealUP HealUP removed the 二叉树 label Jul 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
算法 记录刷题记录,代码随想录
Projects
None yet
Development

No branches or pull requests

1 participant