在Java中遍历树并检查特定值

在Java中遍历树并检查特定值,java,data-structures,tree-traversal,Java,Data Structures,Tree Traversal,我有一个BinaryTree类,它包含自定义类型TreeNode的根节点 TreeNode类 T value; BTree<T> left, right; 我需要实现这个方法,也许我必须使用递归的方法 是的,您需要递归搜索树。代码将如下所示: public boolean contains(BTree<T> root, T value) { if (root == null) { return false; } if (ro

我有一个BinaryTree类,它包含自定义类型TreeNode的根节点

TreeNode类

T value;  
BTree<T> left, right; 

我需要实现这个方法,也许我必须使用递归的方法

是的,您需要递归搜索树。代码将如下所示:

public boolean contains(BTree<T> root, T value) {
    if (root == null) {
        return false;
    }
    if (root.getValue().equals(value)) {
        return true;
    }

    return contains(root.getLeft(), value) || contains(root.getRight(), value);
}

@Override
public boolean contains(T value) {
    return contains(this, value);
}
public boolean contains(b树根,T值){
if(root==null){
返回false;
}
if(root.getValue().equals(value)){
返回true;
}
返回包含(root.getLeft(),value)|包含(root.getRight(),value);
}
@凌驾
公共布尔包含(T值){
返回包含(此,值);
}
public boolean contains(BTree<T> root, T value) {
    if (root == null) {
        return false;
    }
    if (root.getValue().equals(value)) {
        return true;
    }

    return contains(root.getLeft(), value) || contains(root.getRight(), value);
}

@Override
public boolean contains(T value) {
    return contains(this, value);
}