[leetcode] 111. Minimum Depth of Binary Tree

网友投稿 964 2022-11-08

[leetcode] 111. Minimum Depth of Binary Tree

[leetcode] 111. Minimum Depth of Binary Tree

Description

Given a binary tree, find its minimum depth.

The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7return its minimum depth = 2.

分析

题目的意思是:求二叉树的最小深度。

用了递归,取返回值中最小的深度+1,如果root的左右结点有一个为空,我们取左右结点的返回值最大值+1(可以带入上面的例子来思考)。如果左右结点都非空,我们取左右结点的最小高度+1。-递归的代码很简洁。

代码

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int minDepth(TreeNode* root) { if(!root){ return 0; } if(!root->left||!root->right){ return max(minDepth(root->left),minDepth(root->right))+1; } return min(minDepth(root->left),minDepth(root->right))+1; }};

参考文献

​​[编程题]minimum-depth-of-binary-tree​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[leetcode] 152. Maximum Product Subarray
下一篇:mybatis参数类型不匹配错误argument type mismatch的处理方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~