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.
分析
獲取二叉樹(shù)的最小深度龙致,即最近的葉子節(jié)點(diǎn)的高度对人。由于存在子樹(shù)為空需要舍棄的情況,因此先判斷子樹(shù)為空的話洞辣,返回另一子樹(shù)的高度构哺,否則返回兩個(gè)子樹(shù)的最低高度懂盐。
/**
* 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&&root->right==NULL)
return 1;
int leftDepth=1+minDepth(root->left);
int rightDepth=1+minDepth(root->right);
if(leftDepth==1)
return rightDepth;
if(rightDepth==1)
return leftDepth;
if(leftDepth>rightDepth)
return rightDepth;
else return leftDepth;
}