Тема: Визначення максимальної глибини бінарного дерева
Знову завдання з LeetCode.
Ось рішення:
class Solution {
    int get_max_depth(TreeNode* root) {
        if (root != nullptr) {
            int left_depth = get_max_depth(root->left);
            int right_depth = get_max_depth(root->right);
            if (left_depth > right_depth) {
                return (left_depth + 1);
            }
            else {
                return (right_depth + 1);
            }
        }
        else {
            return 0;
        }
    }
public:
    int maxDepth(TreeNode* root) {
        int answer = get_max_depth(root);
        return answer;
    }
};Загальний принцип мені зрозумілий,
але я не розумію як накопичується значення змінних left_depth і right_depth.
Звісно, там є рекурсивний виклик функції, але немає додавання абощо.
Як працює підрахунок змінних int у цьому випадку?



