Дано бінарне дерево. Потрібно визначити його максимальну глибину. Максимальна глибина — це кількість вершин на найдовшому шляху від кореня до найвіддаленішого листка.
Визначення дерева:
// Java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
left = null;
right = null;
}
}// C++
class TreeNode {
public:
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};Реалізуйте функцію maxDepth, яка повертає максимальну глибину дерева.
// Java
int maxDepth(TreeNode tree)// C++
int maxDepth(TreeNode *tree)
Функція maxDepth повертає 3, оскільки найдовший шлях від кореня 5 до найвіддаленішого листка 1 містить 3 вершини.