LeetCode: Minimum Depth of Binary Tree 题解

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.

 

题意很清楚,找到二叉树中深度最短的一条路径,DFS(貌似是面试宝典上的一道题)

 类似的一道题:http://www.cnblogs.com/double-win/p/3737262.html

 1 /**

 2  * Definition for binary tree

 3  * struct TreeNode {

 4  *     int val;

 5  *     TreeNode *left;

 6  *     TreeNode *right;

 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}

 8  * };

 9  */

10 class Solution {

11 public:

12     int minDepth(TreeNode *root) {

13         if(root==NULL) return 0;

14         if(root->left==NULL && root->right==NULL) return 1;

15         

16         int Leftdepth = minDepth(root->left);

17         int Rightdepth = minDepth(root->right);

18     

19         if(Leftdepth==0)

20             return Rightdepth+1;

21         else if(Rightdepth==0)

22             return Leftdepth+1;

23 

24         return min(Leftdepth,Rightdepth)+1;

25     }

26 };

 

你可能感兴趣的:(LeetCode)