Take FREE!! Online Mettl Mock Test to Crack TechM and Other Companies Written Exams.
Get Off-Campus Placement Jobs Info !!!
TCS NQT Technical and Managerial Round Interview Questions

Program Discussion :: Trees

Home > Programs > Trees

40 / 17

Write a program to find the maximum and minimum depth of the tree



/* 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;
/* Compute the "maxDepth" of a tree -- the number of 
    nodes along the longest path from the root node 
    down to the farthest leaf node.*/
int maxDepth(struct node* node) 
   if (node==NULL) 
       return 0;
       /* compute the depth of each subtree */
       int lDepth = maxDepth(node->left);
       int rDepth = maxDepth(node->right);
       /* use the larger one */
       if (lDepth > rDepth) 
       else return(rDepth+1);

/* 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;
int main()
    struct node *root = newNode(1);
    root->left = newNode(2);
    root->right = newNode(3);
    root->left->left = newNode(4);
    root->left->right = newNode(5); 
    printf("Hight of tree is %d", maxDepth(root));
    return 0;

Asked In ::

Post Your Answer Here:


Post Your Reply Here: