BST的中序遍历并将其添加到列表中

inorder traversal of a BST and adding it to a list

我写了下面的代码,我认为参数某处有问题。我好像找不到。我正在使用具有 .getLeftChild() 等的自定义导入,应该很容易弄清楚。

  ArrayList<E> L = new ArrayList<E>();
    BTreeNode<E> n = T.getRoot();

   if(n==null) {
       return L;

   }else{

   sisäjärjestysKulku(n, L);   <---- refers to missing type <E>
   }
   return L;
}


private static void sisäjärjestysKulku(BTreeNode <E> n, ArrayList<E> L) { <--

    // base case:
    if (n == null) 
    return;
    // reduction:

    sisäjärjestysKulku(n.getLeftChild(), L);
    L.add(n.getElement());
    sisäjärjestysKulku(n.getRightChild(),L);

}

如何解决这个问题,让它发挥作用。在 Eclipse 给我错误的地方添加了箭头。我希望有一个解决方案可以保持这种结构。

你好像错过了方法声明中的类型参数,试试:

private static <E> void sisäjärjestysKulku(BTreeNode<E> n, ArrayList<E> L) {