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];
    }
};
相关推荐
im_AMBER2 小时前
Leetcode 35
笔记·学习·算法·leetcode
码农多耕地呗2 小时前
力扣101.对称二叉树(java)
算法·leetcode
软行3 小时前
LeetCode 每日一题 166. 分数到小数
数据结构·c++·算法·leetcode·哈希算法
阿昭L3 小时前
leetcode合并有序链表
leetcode·链表
Tisfy4 小时前
LeetCode 3461.判断操作后字符串中的数字是否相等 I:简单题简单做的时候到了
leetcode·题解·模拟·1024程序员节
nju_spy4 小时前
力扣每日一题(三)划分题 + 思路题
数学·算法·leetcode·动态规划·笔试·记忆化搜索·状态压缩
小李小李快乐不已5 小时前
图论理论基础(1)
数据结构·算法·leetcode·深度优先·图论·广度优先·宽度优先
熬了夜的程序员6 小时前
【LeetCode】80. 删除有序数组中的重复项 II
java·数据结构·算法·leetcode·职场和发展·排序算法·动态规划
im_AMBER16 小时前
Leetcode 33
算法·leetcode·职场和发展
坚持编程的菜鸟19 小时前
LeetCode每日一题——二进制求和
c语言·算法·leetcode