Hola a todos,
estoy intentando programar un método en java que sume todos los elementos de un arbol.
Ahora mismo tengo lo siguiente:
Código:
/**
* Método que suma el valor de los nodos a partir del nodo pasado por parámetro. Si se especifica el nodo
* raíz del árbol, entonces se obtiene la suma de todos los nodos del árbol
* @param n Nodo a partir del cual se suma el subárbol
* @return La suma de los valores de los nodos del subárbol
*/
private int getAddition (Node n) {
int suma=n.value;
if(n.left==null && n.right==null){
return suma;
}else{
if(n.right==null){
getAddition(n.left);
}else if(n.left==null){
getAddition(n.right);
}else{
getAddition(n.left);
getAddition(n.right);
}
}
return suma;
}
No consigo que sume todos los elementos.
Alguien podría echarme una mano?
La clase nodo es la siguiente:
Código:
private class Node {
// El valor del nodo
private Integer value;
// Subárboles izquierdo y derecho
private Node left, right;
// Constructor de la clase
public Node (Integer value) {
this.value = value;
}
}
Muchas gracias.
Un saludo.