Implementa un algorisme recursiu que, donat un arbre binary d’enters, sumi tots els nodes, deixi el resultat a l’arrel i posi 0 a la resta de nodes de l’arbre.
/* Pre: a és un arbre binary d'enters. */
/* Post: Suma tots els nodes de l'arbre, deixa el resultat a l'arrel i posa un 0 a la resta de nodes */
void SumTree(BinaryTree<int> &a) {
}
NOTES IMPORTANTS:
Entrada
Com a entrada hi haurà els nodes de l’arbre en postordre.
Sortida
Com a sortida es mostrarà l’arbre original i l’arbre resultat.
Input
6 4 0 8 0 5 -1 2 2 3 0 1 2
Output
[1]
\__[3]
| \__.
| \__.
\__[2]
\__[5]
| \__.
| \__[8]
| \__.
| \__.
\__[4]
\__.
\__.
[23]
\__[0]
| \__.
| \__.
\__[0]
\__[0]
| \__.
| \__[0]
| \__.
| \__.
\__[0]
\__.
\__.
Input
3 7 0 2 0 5 2
Output
[5]
\__[2]
| \__.
| \__.
\__[7]
\__.
\__.
[14]
\__[0]
| \__.
| \__.
\__[0]
\__.
\__.