I’ve found an ATM analogy answering what recursion is in this video.

This analogy may help you to solve leetcode #104 Maximum Depth of Binary Tree. All you need is to imagine that you have multiple ATMs and need to choose a max path:

public int MaxDepth(TreeNode root)
{
if (root == null)
return 0;

var left = 1 + MaxDepth(root.left);
var right = 1 + MaxDepth(root.right);

return Math.Max(left, right);
}

As for me, it’s a simple analogy helping to remember the recursive approach for solving this problem.