isInterleave = (s1, s2, s3, i = 0, j = 0, res = '') => {
    const isBaseCase1 = (s3.length !== (s1.length + s2.length));
    if (isBaseCase1) return false;

    const isBaseCase2 = ((res === s3) && (i == s1.length) && (j == s2.length));
    if (isBaseCase2) return true;

    return dfs(s1, s2, s3, i, j, res);/* Time O(2^(N + M)) | Space O(N + M) */
}
Brute Force - DFS
Time O(2^(N + M)) | Space O(N + M)
https://leetcode.com/problems/interleaving-string/
@param {string} s1
@param {string} s2
@param {string} s3
@return {boolean}