Java 如何使用以下方法显示从根到节点x的路径:pathf(TreeNode<;E>;x)

Java 如何使用以下方法显示从根到节点x的路径:pathf(TreeNode<;E>;x),java,binary-search-tree,Java,Binary Search Tree,我正在尝试打印从根到指定节点的路径。但这里的问题是,我必须在参数中使用节点,如下所示: 公共阵列列表>PathF(TreeNode x) 我试过这个: public java.util.ArrayList<TreeNode<E>> pathOf(TreeNode<E> x) { ArrayList<TreeNode<E>> list = new ArrayList<TreeNode<E>>();

我正在尝试打印从根到指定节点的路径。但这里的问题是,我必须在参数中使用节点,如下所示: 公共阵列列表>PathF(TreeNode x)

我试过这个:

public java.util.ArrayList<TreeNode<E>> pathOf(TreeNode<E> x) {
    ArrayList<TreeNode<E>> list = new ArrayList<TreeNode<E>>();
    TreeNode<E> current = root; // Start from the root

    while (current != null) {
        list.add(current); // Add the node to the list
        if (x.element.compareTo(current.element) < 0) {
            current = current.left;
        } else if (x.element.compareTo(current.element) > 0) {
            current = current.right;
        } else {
            break;
        }
    }

    return list; // Return an array of nodes
}
public java.util.ArrayList pathf(TreeNode x){
ArrayList=新建ArrayList();
TreeNode current=root;//从根开始
while(当前!=null){
list.add(当前);//将节点添加到列表中
如果(x.element.compareTo(current.element)<0){
current=current.left;
}如果(x.element.compareTo(current.element)>0,则为else{
current=current.right;
}否则{
打破
}
}
return list;//返回节点数组
}
当我调用该方法时: System.out.println(“路径:“+tree.pathOf(66))

我收到了这样的信息: 不兼容的类型:int无法转换为TreeNode

当您调用
pathf(TreeNode x)
时,它需要一个
TreeNode
变量,请提前感谢您。只需执行类似于
pathf(新树节点(arg1,arg2,…)//用合适的参数替换arg#

换句话说,不要调用
pathOf(66)
,调用
pathOf(someTreeNodeVariable)


注意:如果您想打印自定义对象,这将对您非常有帮助。

我已经尝试过了,它显示了:[treepracce]的路径。TreeNode@15db9742,TreePractice。TreeNode@6d06d69c,TreePractice。TreeNode@7852e922,TreePractice。TreeNode@4e25154f]