Answer to Question #284362 in C++ for tayyaba

Question #284362

Write the definition of the function, leavesCount, that takes as a parameter a pointer to the root node of a binary tree and returns the number of leaves in a binary tree. Add this function to the class binaryTreeType and create a program to test this function


1
Expert's answer
2022-01-03T04:27:57-0500
// C++ implementation to find leaf

// count of a given Binary tree

#include <bits/stdc++.h>

using namespace std;

 

/* A binary tree node has data,

pointer to left child and

a pointer to right child */

struct node

{

    int data;

    struct node* left;

    struct node* right;

};

 

/* 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);

}

 

/* Helper function that allocates a new node with the

given data and NULL left and right pointers. */

struct node* newNode(int data)

{

    struct node* node = (struct node*)

                    malloc(sizeof(struct node));

    node->data = data;

    node->left = NULL;

    node->right = NULL;

     

return(node);

}

 

/*Driver code*/

int main()

{

    /*create a tree*/

    struct node *root = newNode(1);

    root->left = newNode(2);

    root->right = newNode(3);

    root->left->left = newNode(4);

    root->left->right = newNode(5);

     

/*get leaf count of the above created tree*/

cout << "Leaf count of the tree is : "<<

                getLeafCount(root) << endl;

return 0;

}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog