思路
二叉搜索树的寻找操作简单有效,从根节点开始,基于二叉搜索树的性质移动到左子树或右子树继续搜索,如果待搜索数据与节点数据一致,则返回当前结点,如果待搜索数据小于根节点数据,则搜索当前结点的左子树,否则,搜索当前结点的右子树,如果数据不存在,则返沪一个空指针
代码
递归:
BinarySearchTreeNode find(BinarySearchTreeNode root,int data){
if(root == null)
return null;
if(data > root.getData()){
return find(root.getRight(),data);
}else if(data < root.getData()){
return find(root.getLeft(),data);
}
return root;
}
非递归:
```java
BinarySearchTreeNode find(BinaryTreeNode root,int data){
if(root == null)
return null;
while(root != null){
if(root.getData() == data){
return root;
}
else if(root.getData() > data){
root = root.getLeft();
}
else{
root = root.getRight();
}
}
return null;
}