Leetcode 111 Minimum Depth of Binary Tree 二叉树

找出最短的从叶子到根的路径长

可以回忆Maximum Depth of Binary Tree的写法,只不过在!root,我把它改成了10000000,还有max函数改成了min函数,最后的值如果是10000000,毫无疑问这棵树肯定为空,因此在最后有(d>=1000000)?0:d;

 1 /**
 2  * Definition for a binary tree node.
 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 
11 class Solution {
12 public:
13     int depth(TreeNode* root){
14         if(!root) return 10000000;
15         else if(!root->left && !root->right) return 1;
16         else return min(depth(root->left),depth(root->right)) + 1;
17     }
18     int minDepth(TreeNode* root) {
19         int d = depth(root);
20         return (d>=1000000)?0:d;
21     }
22 };

 

posted @ 2016-03-09 21:58  Breeze0806  阅读(131)  评论(0编辑  收藏  举报