Solution #1:
Algorithm:
- If the current node lies between 'min' and 'max', print it.
- If the current node is greater than 'min', recursively call left child.
- If the current node is lesser than 'max', recursively call right child.
Here is the code,
Algorithm:
- If the current node lies between 'min' and 'max', print it.
- If the current node is greater than 'min', recursively call left child.
- If the current node is lesser than 'max', recursively call right child.
Here is the code,
void printRange(struct node* root, int min, int max) { if(root == NULL) return; if( (min <= root->data) && (root->data <= max) ) printf("%d\n", root->data); if(min < root->data) printRange(root->left, min, max); if(root->data < max) printRange(root->right, min, max); }
No comments:
Post a Comment