标签:
二叉树的最小深度
采用递归的方式求左右结点的高度,注意判断一个结点是否是叶子结点(左右子树都不存大)。
int minDepth(TreeNode *root) { return minDepth(root, false); } int minDepth(TreeNode *root, bool hasbrothers) { if (root == nullptr)return hasbrothers ? INT_MAX : 0; return 1 + min(minDepth(root->left, root->right != nullptr), minDepth(root->right, root->left != nullptr)); }
同理可判断最大深度,因为是求最大值,所以无需判断该结点是否是叶子结点(如果不是叶子结点,肯定不是最大深度)。
标签:
原文地址:http://www.cnblogs.com/573177885qq/p/5603382.html