Πρέπει να επισκεφτείτε όλους τους κόμβους φύλλα και να καταλάβω πόσο βαθιά είναι. Αυτό σημαίνει:
Δώστε σας λειτουργία κόμβου-επισκέπτονται ένα επιπλέον επιχείρημα. Θα πρέπει να γνωρίζει όχι μόνο πού πηγαίνει, αλλά και πόσο βαθιά είναι. Κάθε φορά που ονομάζεται, λέγεται για να πάει πιο βαθιά, έτσι ώστε ο κόμβος ο επισκέπτης σας έχει μόνο για να αυξήσετε τον αριθμό βάθος πήρε από τον καλούντα.
Τώρα, ένα από τα 2 πράγματα μπορούν να συμβούν:
Είτε ο κόμβος που βρήκατε είναι ένας κόμβος φύλλο, δηλαδή δεν έχει κανένα παιδιά? σε αυτή την περίπτωση, ο επισκέπτης σας θα πρέπει να επιστρέψει το βάθος της στον καλούντα. Ναι, επιστρέφει μόνο τον αριθμό που πήρε από τον καλούντα, + 1.
ή δεν είναι ένας κόμβος φύλλο. Σε αυτή την περίπτωση, θα πρέπει είτε 1 ή 2 παιδιά. Θα πρέπει να πάρετε αυτές τις εκθέσεις βάθος από τα παιδιά μας πίσω μέχρι τον καλούντα, έτσι απλά να επιστρέψει το ποσό των βάθη επιστρέφονται από τα παιδιά.
Με τη μαγεία της αναδρομής, ο αριθμός επέστρεψε στον επισκέπτη της ρίζας θα είναι το άθροισμα των βάθη όλων των παιδιών.
Για να πάρετε ένα μέσο βάθος, θα θέλετε να διαιρέσετε αυτό με τον αριθμό των κόμβων φύλλων? το οποίο είχα αφήσει σε δεύτερη διάσχιση για τον υπολογισμό. Θα μπορούσε να γίνει σε ένα, αλλά θα είναι λίγο πιο περίπλοκη.