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];
    }
};
相关推荐
水蓝烟雨2 小时前
1931. 用三种不同颜色为网格涂色
算法·leetcode
leoufung4 小时前
LeetCode 76:Minimum Window Substring 题解与滑动窗口思维详解
算法·leetcode·职场和发展
风筝在晴天搁浅5 小时前
LeetCode 92.反转链表Ⅱ
算法·leetcode·链表
普贤莲花9 小时前
【2026年第18周---写于20260501】---舍得
程序人生·算法·leetcode
m0_629494739 小时前
LeetCode 热题 100-----16.除了自身以外数组的乘积
数据结构·算法·leetcode
We་ct10 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·leetcode·typescript·动态规划
无敌昊哥战神10 小时前
【LeetCode 37】解数独 (Sudoku Solver) —— 回溯法详解 (Python/C/C++)
c语言·c++·python·算法·leetcode
风筝在晴天搁浅10 小时前
LeetCode 162.寻找峰值
算法·leetcode
罗超驿11 小时前
双指针算法经典案例:LeetCode 283. 移动零(Java详解)
java·算法·leetcode
人道领域11 小时前
【数据结构与算法分析】二叉树面试通关手册:遍历图解 · 分类对比 · 代码模板
数据结构·算法·leetcode·深度优先