Level of a node in the binary tree.

/* A tree node structure */
struct node
{
  int data;
  struct node *left;
  struct node *right;
};
 
/*
   Helper function for getLevel().  It returns level of the data if data is
   present in tree, otherwise returns 0.
*/
int getLevelUtil(struct node *node, int data, int level)
{
  if ( node == NULL )
    return 0;
 
  if ( node->data == data )
    return level;
 
  return getLevelUtil ( node->left, data, level+1) |
         getLevelUtil ( node->right, data, level+1);
}
 
/* Returns level of given data value */
int getLevel(struct node *node, int data)
{
  return getLevelUtil(node,data,1);
}

Source

Published by Jeet

A software developer by profession. In spare time, fancy non-fiction mostly, related to history, finance and politics. A self-proclaimed movie buff - genre, time and era is no bar, only a sumptuous movie is!

Leave a comment