Associated Course(s):
Interview Preparation

Given a Binary Search Tree of size **N**, your task is to complete the function **findMedian()**, that return the median of Binary Search Tree.

Median of the BST are:

- If number of nodes are even: then median = ((n/2th node + (n+1)/2th node) /2
- If number of nodes are odd : then median = (n+1)th node.

For example:

```
Given BST(with odd no. of nodes) is :
6
/ \
3 8
/ \ / \
1 4 7 9
Inorder of Given BST will be : 1, 3, 4, 6, 7, 8, 9
So, here median will 6.
Given BST(with even no. of nodes) is :
6
/ \
3 8
/ \ /
1 4 7
Inorder of Given BST will be : 1, 3, 4, 6, 7, 8
So, here median will (4+6)/2 = 5.
```

**Input:**

The function takes a single argument as input, the reference pointer to the **root** of the BST.

There will be **T **test cases and for each test case function will be called separately.

**Output:**

For each test case the function should return the Median of the BST.

**Constraints:**

1<=T<=100

1<=N<=500

**Example:
Input:**

2

3

9 10 11

6

1 3 4 6 7 8

10

5

**Note:**The **Input/Ouput** format and **Example** given are used for system's internal purpose, and should be used by a user for **Expected Output** only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.

lakshmi_pandey | 72 |

abbatta7 | 68 |

Ashish Kumar Vaishy | 62 |

aman19 | 58 |

Kumar Gaurav Singh | 58 |

saumitra13325 | 612 |

ashujack | 551 |

lakshmi_pandey | 544 |

aman19 | 538 |

piyushmittal25 | 514 |

blackshadows | 5249 |

akhayrutdinov | 5111 |

Ibrahim Nash | 5087 |

Quandray | 4354 |

sanjay05 | 3668 |

Login to report an issue on this page.