深圳哪家做网站比较好,wordpress支付下载插件,ai绘制logo,哪个网站适合 做红本抵押给定一个二叉树#xff0c;找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 题解#xff1a;找出最小深度也就是找出根节点相对所有叶子结点的最小高度#xff0c;在这也表明了根节点的高度是变化的#xff0c;相对不同的叶子结点有不同的高度。…给定一个二叉树找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 题解找出最小深度也就是找出根节点相对所有叶子结点的最小高度在这也表明了根节点的高度是变化的相对不同的叶子结点有不同的高度。
代码如下
class Solution {
public:int minDepth(TreeNode* root) {if(NULL root) return 0;if(NULL root-left NULL! root-right) return 1minDepth(root-right);if(NULL ! root-left NULL root-right) return 1minDepth(root-left);return 1min(minDepth(root-left),minDepth(root-right)); }
};
注意
在树形数据结构中叶子节点leaf node是没有子节点的节点。换句话说叶子节点是树中没有任何子节点的终端节点。
在解题时要注意无左子树或无右子树的情况若不考虑得到的最小深度必然是1因为左子树或右子树为NULL时高度为0那根节点高度必然是1。