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
Get step-by-step solutions from verified subject matter experts
