Question
For this BST tree Why does this give me a timed out error(possibly infinite loop) public static int findClosestValueInBst(BST tree, int target) { if(tree.value ==
For this BST tree
Why does this give me a timed out error(possibly infinite loop)
public static int findClosestValueInBst(BST tree, int target) { if(tree.value == target) return tree.value; int temp = tree.value; while(tree != null){ if(Math.abs(temp - target) > Math.abs(target - tree.value)){ temp = tree.value; } if(target tree.value) { tree = tree.right; } } return temp; }
But this one doesnt
public static int findClosestValueInBst(BST tree, int target) { if(tree.value == target) return tree.value; BST next = tree; int temp = tree.value; while(next != null){ if(Math.abs(temp - target) > Math.abs(target - next.value)){ temp = next.value; } if(target tree.value) { next = next.right; } } return temp; }
Sample input: 10 ,12 5 15 2 513 22 1 14 kStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started