1.题目描述
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.
2.解法分析
/*** Definition for binary tree* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/class Solution {public:int minDepth(TreeNode *root) {// Start typing your C/C++ solution below// DO NOT write int main() functionif(root == NULL)return 0;if(!root->left&&!root->right)return 1;if(root->left&&root->right){return min(minDepth(root->left),minDepth(root->right))+1;}else{if(root->left)return minDepth(root->left)+1;else return minDepth(root->right)+1;}}};