Medium

25.45%

Given a Binary Tree you need to find maximum value which you can get by subtracting value of node B from value of node A, where A and B are two nodes of the binary tree and A is an ancestor of B . You are required to complete the function **maxDiff ****. **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:**

The task is to complete the function **maxDiff **which takes 1 argument, root of the Tree . The struct node has a data part which stores the data, pointer to left child and pointer to right child.

There are multiple test cases. For each test case, this method will be called individually.

**Output:**

The function should return an integer denoting the maximum difference.

**Constraints:**

1 <=T<= 30

1 <=Number of nodes<= 100

1 <=Data of a node<= 1000

**Example**

**Input**

1

2

5 2 L 5 1 R

**Output**

4

5

/ \

2 1

In above example there is one test case which represents a tree with 3 nodes and 2 edges where root is 5, left child of 5 is 2 and right child of 5 is 1 hence the max difference we can get is from 5 and 1 ie 4 .

**Note:** The **Input/Output** 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.