LeetCode 111. Minimum Depth of Binary Tree(树的最小深度)
题意:求树的最小深度。
分析:要考虑无左/右子节点的情况。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int minDepth(TreeNode* root) { if(root == NULL) return 0; int leftDepth = minDepth(root -> left); int rightDepth = minDepth(root -> right); if(leftDepth == 0 || rightDepth == 0) return leftDepth + rightDepth + 1; return min(leftDepth, rightDepth) + 1; } };