f(b)表示二叉树的所有叶子结点个数:
f(b) = 0; b == NIL
f(b) = 1; b为叶子结点;
f(b) = f(b->left) + f(b->right);
int getLeafNodes(Node* root)
{
if (root == NULL)
return 0;
if (root->left == NULL && root->right == NULL)
return 1;
return getLeafNodes(root->left) + getLeafNodes(root->right);
}
PS:算法基于后续遍历