I'm trying to search for a node in a binary tree and return in case it's there, otherwise, return null. By the way, the node class has a method name() that return a string with it's name...What I have so far is:
private Node search(String name, Node node){
if(node != null){
if(node.name().equals(name)){
return node;
}
else{
search(name, node.left);
search(name, node.right);
}
}
return null;
}
Is this correct??
This might be better:
Since language doesn't matter much for this question, here's what it looks in C# with pre-order traversal:
You need to make sure your recursive calls to search return if the result isn't null.
Something like this should work...