C++ | Leetcode C++题解之第111题二叉树的最小深度

题目:

题解:

cpp 复制代码
class Solution {
public:
    int minDepth(TreeNode *root) {
        if (root == nullptr) {
            return 0;
        }

        queue<pair<TreeNode *, int> > que;
        que.emplace(root, 1);
        while (!que.empty()) {
            TreeNode *node = que.front().first;
            int depth = que.front().second;
            que.pop();
            if (node->left == nullptr && node->right == nullptr) {
                return depth;
            }
            if (node->left != nullptr) {
                que.emplace(node->left, depth + 1);
            }
            if (node->right != nullptr) {
                que.emplace(node->right, depth + 1);
            }
        }

        return 0;
    }
};
相关推荐
2401_8384725118 小时前
C++图形编程(OpenGL)
开发语言·c++·算法
-dzk-18 小时前
【代码随想录】LC 203.移除链表元素
c语言·数据结构·c++·算法·链表
毅炼19 小时前
hot100打卡——day17
java·数据结构·算法·leetcode·深度优先
Tisfy19 小时前
LeetCode 3010.将数组分成最小总代价的子数组 I:排序 OR 维护最小次小
算法·leetcode·题解·排序·最小次小值
Trouvaille ~19 小时前
【Linux】线程同步与互斥(三):生产者消费者模型实战
linux·运维·c++·信号量·阻塞队列·生产者消费者模型·环形队列
Queenie_Charlie19 小时前
八皇后问题
c++·深度优先搜索
m0_7369191019 小时前
编译器命令选项优化
开发语言·c++·算法
Jiu-yuan19 小时前
C++函数
c++
naruto_lnq19 小时前
C++中的工厂方法模式
开发语言·c++·算法
一切尽在,你来19 小时前
C++多线程教程-1.2.3 C++并发编程的平台无关性
开发语言·c++