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.

**User Task:**

The task is to complete the function **maxDiff**() which finds the maximum difference between the node and its ancestor.

**Constraints:**

1 <= T <= 100

1 <= Number of edges <= 1000

0 <= Data of a node <= 1000

**Example:**

**Input:**

1

2

5 2 L 5 1 R

**Output:**

4

**Explanation:
Testcase 1**:

5

/ \

2 1

The maximum difference we can get is 4, which is bewteen 5 and 1.

Author: Shubham Joshi 1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

geetyadav | 82 |

hari32147 | 76 |

AdityaRaj9 | 75 |

yashrana1 | 74 |

amitpandey19 | 67 |

abducodes | 850 |

harshtyagi36 | 417 |

vamsikrishna55 | 323 |

sandipbhaumik | 321 |

Akhil varma | 314 |

blackshadows | 5331 |

Ibrahim Nash | 5219 |

akhayrutdinov | 5111 |

mb1973 | 4929 |

Quandray | 4567 |

Login to report an issue on this page.