leetcode-97-交错字符串

在这里插入图片描述

递归-暴力javascript

思路:一个字符一个字符进行比较。java

/** * @param {string} s1 * @param {string} s2 * @param {string} s3 * @return {boolean} */
var isInterleave = function(s1, s2, s3) {
    const n = s1.length,
        m = s2.length;
    if (n + m != s3.length) {
        return false;
    }
    const compare = (i, j, k) => {
        if (k == s3.length) {
            return true;
        }
        let res = false;
        if (i < n && s1[i] == s3[k]) {
            res = compare(i + 1, j, k + 1);
        }
        // 注意这里可能出现(i指向和j指向的字符同样的状况,这个时候咱们不能让下面这条递归执行),这种状况res确定是true,因此咱们让res = res || compare(i,j+1,k+1),直接返回 true 而不执行 compare(i,j+1,k+1)
        if (j < m && s2[j] == s3[k]) {
            res = res || compare(i, j + 1, k + 1);
        }
        return res;
    }
    return compare(0, 0, 0);
};

在这里插入图片描述



感谢观看 期待关注




在这里插入图片描述

知乎:叄贰壹web

简书:带只拖鞋去流浪svg

关注我,带你一块儿写bugspa

warning :未经受权,不得转载3d

有问题的小伙伴请在下方留言,喜欢就点个赞吧code