int numLeaves (BTreeNode *root) {
    if (root == NULL) {
        return 0;
    }
    else if (root->left == NULL && root->right == NULL) {
        return 1;
    }
    else {
	int leavesInLeftSubTree = numLeaves (root->left);
	int leavesInRightSubTree = numLeaves (root->right);
	return leavesInLeftSubTree + leavesInRightSubTree;
    }
}