Question: Can someone please check my recursive function below for mistakes? Assignment: Write a recursive function to determine how many nodes in a Binary Search Tree

Can someone please check my recursive function below for mistakes?

Assignment: Write a recursive function to determine how many nodes in a Binary Search Tree have depth > D.

public int numNodesGreaterThanD(Node root, int D) {

int depthCounter = 0;

return numNodesGreaterThanDHelper(root, D, depthCounter);

}

public int numNodesGreaterThanDHelper(Node root, int D, int depthCounter) {

if(root == null) return 0;

int left = numNodesGreaterThanDHelper(root.left, D, depthCounter + 1);

int right = numNodesGreaterThanDHelper(root.right, D, depthCounter + 1);

if(depthCounter <= depth) return left + right;

return (left + right + 1);

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!