Leetcode—111.二叉树的最小深度【简单】
- 软件开发
- 2025-08-14 23:42:02

2023每日刷题(十八) Leetcode—111.二叉树的最小深度 DFS实现代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ int minDepth(struct TreeNode* root) { if(root == NULL) { return 0; } if(root->left == NULL) { return minDepth(root->right) + 1; } if(root->right == NULL) { return minDepth(root->left) + 1; } int left = minDepth(root->left); int right = minDepth(root->right); return(left < right ? left: right) + 1; } 运行结果 BFS实现代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: int minDepth(TreeNode* root) { if(root == NULL) { return 0; } int ans = 0; queue<TreeNode*> qu; qu.push(root); while(!qu.empty()) { ans++; int n = qu.size(); for(int i = 0; i < n; i++) { TreeNode* p = qu.front(); qu.pop(); // 遇到第一个叶子结点返回ans if(p->left == NULL && p->right == NULL) { return ans; } if(p->left != NULL) { qu.push(p->left); } if(p->right != NULL) { qu.push(p->right); } } } return 0; } }; 运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!
Leetcode—111.二叉树的最小深度【简单】由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Leetcode—111.二叉树的最小深度【简单】”
下一篇
MySQLuser权限表详解