Geeksforgeeks

Timer is Running

Given a binary tree, the task is to find the maximum path sum. The path may start and end at any node in the tree.

**Example 1:**

**Input:
** 10
/ \
2 -25
/ \ / \
20 1 3 4
**Output: **32**
Explanation: **Path in the given tree goes
like 10 , 2 , 20 which gives the max
sum as 32.

**Example 2:**

**Input:
** 10
/ \
2 5
\
-2
**Output: **17**
Explanation: **Path in the given tree goes
like 2 , 10 , 5 which gives the max sum
as 17.

**Your Task:**

You don't need to take input or print anything. Your task is to **complete **the function **findMaxSum() **that takes **root **as input and returns max sum between any two nodes in the given Binary Tree.

**Expected Time Complexity: **O(N).

**Expected Auxiliary Space: **O(Height of the Tree).

**Constraints:**

1 <= Number of nodes <= 10^{3}

1 <= |Data on node| <= 10^{4}

Author: Ayush Govil 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.

jainshubham52535 | 529 |

Pathak1899 | 436 |

yashdip123 | 380 |

kirtidee18 | 377 |

jots62 | 351 |

kirtidee18 | 1057 |

ykaushik | 752 |

aggarwalvatsal5 | 741 |

harbilassingh | 576 |

pmr_3689 | 570 |

blackshadows | 5456 |

Ibrahim Nash | 5450 |

akhayrutdinov | 5111 |

mb1973 | 4976 |

Quandray | 4827 |

Login to report an issue on this page.