将 n 叉树的所有节点添加到 ArrayList
Add all nodes of a n-ary tree to ArrayList
将给定树的所有节点添加到 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;
}
从你的方法名称来看,你似乎想以 post 的顺序遍历你的树,所以我会尝试类似的方法:
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;
}
添加子树节点后,每次调用的节点浏览器都会插入到您的列表中。
将给定树的所有节点添加到 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;
}
从你的方法名称来看,你似乎想以 post 的顺序遍历你的树,所以我会尝试类似的方法:
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;
}
添加子树节点后,每次调用的节点浏览器都会插入到您的列表中。