将n-ary树的所有节点添加到ArrayList

时间:2015-11-20 15:09:35

标签: java arraylist tree

将给定树的所有节点添加到ArrayList的最佳方法是什么?

我应该在递归方法中将ArrayList作为参数传递吗?

我现在试着做一段时间,我的代码没有编译,请帮忙。

ArrayList<NodoN<T>> postOrder(boolean ignorarRaiz, ArrayList<T> lista){

        for (int i = 0; i < nodos.size(); i++) {
            ret = ret + nodos.get(i).postOrder(false, lista);
        }

        if (!ingnorarRaiz) {
            lista.add(dato);
        }

        return dato;

    }

1 个答案:

答案 0 :(得分:1)

从您的方法名称看起来您想要在后期遍历您的树,所以我尝试类似:

ArrayList<NodoN<T>> postOrder(boolean ignorarRaiz, ArrayList<T> lista){

    for (NodoN<T> nodo: nodos) {            
        nodo.postOrder(false, lista);
    }

    if (!ingnorarRaiz) lista.add(nodo);

    return lista;

}

在添加了子树节点后,每个调用的节点资源管理器都会插入到列表中。