Leetcode—111.二叉树的最小深度【简单】

编程入门 行业动态 更新时间:2024-10-28 10:24:32

Leetcode—111.二叉树的<a href=https://www.elefans.com/category/jswz/34/1769671.html style=最小深度【简单】"/>

Leetcode—111.二叉树的最小深度【简单】

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();// 遇到第一个叶子结点返回ansif(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.二叉树的最小深度【简单】

本文发布于:2023-11-17 02:45:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1636837.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:最小   深度   简单   二叉树   Leetcode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!