我正在尝试在二叉树中搜索节点,并在有节点的情况下返回,否则返回null。顺便说一句,节点类有一个方法name(),它返回一个带有其名称的字符串…到目前为止,我有:
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; }
这样对吗??
如果结果不为空,则需要确保对搜索的递归调用返回。
这样的事情应该起作用…
private Node search(String name, Node node){ if(node != null){ if(node.name().equals(name)){ return node; } else { Node foundNode = search(name, node.left); if(foundNode == null) { foundNode = search(name, node.right); } return foundNode; } } else { return null; } }