Skip to content

Instantly share code, notes, and snippets.

@gabhi
Created April 29, 2014 23:58
Show Gist options
  • Save gabhi/66c4a9c4d9f1db91132d to your computer and use it in GitHub Desktop.
Save gabhi/66c4a9c4d9f1db91132d to your computer and use it in GitHub Desktop.
Find level of the node in binary tree
/* 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;
int downlevel = getLevelUtil(node->left, data, level+1);
if (downlevel != 0)
return downlevel;
downlevel = getLevelUtil(node->right, data, level+1);
return downlevel;
}
/* Returns level of given data value */
int getLevel(struct node *node, int data)
{
return getLevelUtil(node,data,1);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment