Geeksforgeeks

It's live! The biggest programming festival has begun! Check out Geek Week now!

Error

Given a binary tree in which each node element contains a number. Find the maximum possible path sum from one leaf node to another leaf node.

**Note: **Here Leaf node is a node which is connected to exactly one different node.

**Example 1:**

Input:3 / \ 4 5 / \ -10 4Output:16Explanation:Maximum Sum lies between leaf node 4 and 5. 4 + 4 + 3 + 5 = 16.

**Example 2:**

Input:-15 / \ 5 6 / \ / \ -8 1 3 9 / \ \ 2 -3 0 / \ 4 -1 / 10Output:27Explanation:The maximum possible sum from one leaf node to another is (3 + 6 + 9 + 0 + -1 + 10 = 27)

**Your Task: **

You dont need to read input or print anything. Complete the function **maxPathSum() **which takes root node as input parameter and returns the maximum sum between 2 leaf nodes.

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

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

**Constraints:**

2 ≤ Number of nodes ≤ 10^{4}

-10^{3 }≤ Value of each node ≤ 10^{3}

We are replacing the old Disqus forum with the new Discussions section given below.

Click here to view old Disqus comments.

Click here to view old Disqus comments.

Login to report an issue on this page.

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

YesLoading...

Maximum Path Sum between 2 Leaf Nodes

...