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.