leetCode.97. 交错字符串

leetCode.97. 交错字符串


题目思路


代码

cpp 复制代码
class Solution {
public:
    bool isInterleave(string s1, string s2, string s3) {
        int n = s1.size(), m = s2.size();
        if ( s3.size() != n + m ) return false;

        vector<vector<bool>> f( n + 1, vector<bool> (m + 1));
        s1 = ' ' + s1;
        s2 = ' ' + s2;
        s3 = ' ' + s3;
        for ( int i = 0; i <= n; ++ i) {
            for (int j = 0; j <= m; ++j ) {
                if ( !i && !j ) f[i][j] = true;
                else {
                    if ( i && s1[i] == s3[i + j]) f[i][j] = f[i - 1][j];
                    if ( j && s2[j] == s3[i + j]) f[i][j] = f[i][j] || f[i][j - 1];
                }
            }
        }

        return f[n][m];
    }
};
相关推荐
VT.馒头4 小时前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
毅炼5 小时前
hot100打卡——day17
java·数据结构·算法·leetcode·深度优先
Tisfy5 小时前
LeetCode 3010.将数组分成最小总代价的子数组 I:排序 OR 维护最小次小
算法·leetcode·题解·排序·最小次小值
草履虫建模6 小时前
力扣算法 121. 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划·一次遍历
爱尔兰极光6 小时前
LeetCode--有序数组的平方
算法·leetcode·职场和发展
haluhalu.7 小时前
LeetCode---基础算法刷题指南
数据结构·算法·leetcode
iAkuya7 小时前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
爱尔兰极光7 小时前
LeetCode--移除元素
算法·leetcode·职场和发展
苦藤新鸡8 小时前
51.课程表(拓扑排序)-leetcode207
数据结构·算法·leetcode·bfs