Company: Microsoft, Flipkart
Question:
Question:
Given a Binary Search Tree (BST) and a range, print all the numbers in the BST that lie in the given range. You are required to complete the function printNearNodes. You should not read any input from stdin/console. There are multiple test cases. For each test case, this method will be called individually.
Input (only to be used for Expected Output):
The first line of the input contains an integer 'T' denoting the nummber of test cases. Then 'T' test cases follow. Each test case consists of three lines. Description of test cases is as follows:
The First line of each test case contains an integer 'N' which denotes the no of nodes in the BST. .
The Second line of each test case contains 'N' space separated values of the nodes in the BST.
The Third line of each test case contains two space separated integers 'l' and 'h' denoting the range, where l < h .
The first line of the input contains an integer 'T' denoting the nummber of test cases. Then 'T' test cases follow. Each test case consists of three lines. Description of test cases is as follows:
The First line of each test case contains an integer 'N' which denotes the no of nodes in the BST. .
The Second line of each test case contains 'N' space separated values of the nodes in the BST.
The Third line of each test case contains two space separated integers 'l' and 'h' denoting the range, where l < h .
Output:
You are required to complete the function printNearNodes which takes three arguments. The first being the root of the tree, and then two integers l and h, denoting the range. The function shold print all the nodes which lie in the given range in the BST .
Constraints:
1 <= T <= 50
1 <= N <= 50
1 <= l < h < 1000
You are required to complete the function printNearNodes which takes three arguments. The first being the root of the tree, and then two integers l and h, denoting the range. The function shold print all the nodes which lie in the given range in the BST .
Constraints:
1 <= T <= 50
1 <= N <= 50
1 <= l < h < 1000
Example:
Input
1
6
10 5 50 1 40 100
5 45
Input
1
6
10 5 50 1 40 100
5 45
Output
5 10 40
5 10 40
CODE:
class Node
{
int key;
Node left, right;
Node(int item)
{
key = item;
left = right = null;
}
}
class Solution
{
void Print(Node node, int k1, int k2)
{
if(node==null){return;}
if(node.key<k1){
Print(node.right,k1,k2);
if(node.key>=k1 && node.key <= k2){
System.out.print(node.key+" ");
}
}
else if (node.key>k2){
Print(node.left,k1,k2);
if(node.key>=k1 && node.key <= k2){
System.out.print(node.key+" ");
}
}
else{
Print(node.left,k1,k2);
if(node.key>=k1 && node.key<=k2)
System.out.print(node.key+" ");
Print(node.right,k1,k2);
}
}
}
EXECUTION TIME:0.13s
Comments
Post a Comment