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 };