这也是树的遍历的变种,只要在访问节点的时候,发现该节点左右孩子均为空,则说明该节点是叶子节点,对其计数即可。
/* Function to get the count of leaf nodes in a binary tree*/
unsigned int getLeafCount(struct node* node)
{
if(node == NULL)
return 0;
if(node->left == NULL && node->right==NULL)
return 1;
else
return getLeafCount(node->left)+
getLeafCount(node->right);
}
网友评论