9.1. **Into reverse**. Can you program a `reverse()`

function, but implement it in a recursive fashion? Obviously, the best way to go about this would be using the standard String `.reverse()`

method, as detailed in https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse, but that wouldn't do as a question on recursion, would it...?

9.2. **Climbing steps**. Suppose you want to climb up a ladder with *n* steps. At each time, you may opt to take 1 or 2 steps. In how many different ways can you climb up that ladder? As an example, you may climb a four steps ladder in five different ways.

- Always taking one step at a time
- Always taking two steps at a time
- Taking two steps first, then one, and again one
- Taking one step first, then two, and then one
- Taking one step first, then another one, and finishing with two

9.3. **Longest common subsequence**. A classic dynamic programming problem is as follows: given two strings, find the length of the longest subsequence present in...