Leetcode Maximum Depth of Binary Tree problem solution

In this Leetcode Maximum Depth of Binary Tree problem solution we have Given the root of a binary tree, return its maximum depth. A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Problem solution in Python.

```class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""

return 1 + max(self.maxDepth(root.left), self.maxDepth(root.right)) if root else 0
```

Problem solution in Java.

```public int maxDepth(TreeNode root) {
return find(root);
}

public int find(TreeNode root) {
if(root == null) {
return 0;
}
return Math.max(find(root.left),find(root.right))+1;
}
```

Problem solution in C++.

```int maxDepth(TreeNode* root) {
return depth(root, 1);
}
int depth(TreeNode* node, int d)
{
if(node==NULL)
return 0;
return max(d,max(depth(node->left,d+1),depth(node->right,d+1)));
}
```

Problem solution in C.

```int maxDepth(struct TreeNode* root){
int Depth = 0;

void inorder(struct TreeNode ** root, int depth) {
depth++;
if (root[0]) {
inorder(&root[0]->left, depth);
if (depth > Depth) { Depth = depth; }
inorder(&root[0]->right, depth);
}
}

if (root)
inorder(&root, 0);

return Depth;
}
```