Java 计算BST中的节点数

Java 计算BST中的节点数,java,binary-search-tree,nodes,Java,Binary Search Tree,Nodes,各位,我已经实现了计算二叉树中节点总数的代码,该方法如下所示: public int countNodes(Node root){ int count = 0; if(root == null){ System.out.println("The tree is empty!"); return -1; } else{ count = 1;

各位,我已经实现了计算二叉树中
节点总数的代码,该方法如下所示:

public int countNodes(Node root){
        int count = 0;

        if(root == null){
            System.out.println("The tree is empty!");
            return -1;
        }
        else{
            count = 1;
            Node current = root;

            if(current.leftChild != null){
                count += countNodes(current.leftChild);
            }

            else if(current.rightChild != null){
                count += countNodes(current.rightChild);
            }
        }
        System.out.print("The total number of nodes in the tree is ");
        return count;
    }
该方法的参数包含
节点根
,但我的问题是,当我尝试从
main
类运行该方法时,我应该传递什么作为参数?? 我应该在这里的参数中添加什么
int countNodes=tree1.countNodes(“???????”)


您可以使用树的根节点。根据您的示例,您可以从find()方法获得它

您还可以使用其他节点,如

int countNodes = tree1.countNodes(tree1.find(5));
class MainTester{

    public static void main(String[] args){

        Tree tree1 = new Tree();
        tree1.insert(1);
        tree1.insert(2);
        tree1.insert(3);
        tree1.insert(4);
        tree1.insert(5);
        tree1.insert(6);
        tree1.insert(7);
        tree1.insert(8);
        tree1.insert(9);
        tree1.insert(10);

        int countNodes = tree1.countNodes("?????????????");

    }
}
int countNodes = tree1.countNodes(tree1.find(1));
int countNodes = tree1.countNodes(tree1.find(5));