Note 1

Take Note:

Take a note while surfing.





Note With Ink

Give your Note a Colorful Tag.




Easy to Access

Stay on same information and in Sync wherever you are.

Note 2

Take Note:

Organize your information,It may take Shape.





Think With Ink

Differ your Content by Color.




Easy to Access

Easy to pull up your content from anywhere anytime.

Note 3

Take Note:

Don't Let information to miss,Because it take shape





Note With Ink

Simple an Easy Way to take a note.




Easy to Access

Get the same in next visit.

Program Discussion :: Trees
Home > Programs > Trees

46. Write a program to print all leaf nodes of a tree

Answer:

#include <stdio.h>
#include <stdlib.h>
/* 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 program to test above functions*/
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*/
printf("Leaf count of the tree is %d", getLeafCount(root));
getchar();
return 0;
}

Post Your Answer Here:

Name *
Email

Language:

Post Your Reply Here: