Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Find time and space complextity of the following code. public class MaxPathSumBinaryTree { public int maxPathSum(TreeNode root) { //wrap a global variable into an array

Find time and space complextity of the following code.

public class MaxPathSumBinaryTree {

public int maxPathSum(TreeNode root) {

//wrap a global variable into an array so that we can change the value//

int[] max = new int[] {Integer.MIN_VALUE};

maxSumHelper(root, max);

return max[0];

}

private int maxSumHelper(TreeNode root, int[] max) {

if (root == null) {

return 0;

}

int left = maxSumHelper(root.left, max);

int right = maxSumHelper(root.right, max);

//when root node has both left and right child, we need to update the max path sum//

if (root.left != null && root.right != null) {

max[0] = Math.max(max[0], left + right + root.key);

return Math.max(left, right) +root.key;

}

return root.left == null?right + root.key : left + root.key;

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Pro Database Migration To Azure Data Modernization For The Enterprise

Authors: Kevin Kline, Denis McDowell, Dustin Dorsey, Matt Gordon

1st Edition

1484282299, 978-1484282298

More Books

Students also viewed these Databases questions