Binary Tree Maximum Path Sum

Understand and solve the interview question "Binary Tree Maximum Path Sum".

Description

A path in a binary tree is defined as:

A sequence of nodes such that each pair of adjacent nodes must have an edge connecting them. A node can only be included in a path at most once. Moreover, including the root in the path is not compulsory.

The path sum can be calculated by adding up all nodes’ values in the path. To solve this problem, we will calculate the maximum path sum given the root of a binary tree so that there won’t be any greater path than it in the tree.

Example

Let’s discuss the example below:

Coding exercise

package main
import (
"fmt"
"strconv"
"encoding/json"
)
type TreeNode struct{
val int
left *TreeNode
right *TreeNode
}
func maxPathSum(root *TreeNode) int {
// write your code here
return -1;
}
Binary Tree Maximum Path Sum

Solution

We’ll start by simplifying the problem and looking at the implementation of the maxContrib(node) function which takes a ...

Access this course and 1400+ top-rated courses and projects.