LeetCode-97-交错字符串

题目地址(LeetCode-97)
https://leetcode-cn.com/problems/interleaving-string/
题目描述
1 | 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 |
示例1:
1 | 输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac" |
示例2:
1 | 输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc" |
示例3:
1 | 输入:s1 = "", s2 = "", s3 = "" |
解法
采用动态规划的思想,dp[i][j]
表示s1
从0到i-1的子字符串和s2
从0到j-1的子字符串能否组成s3
从0到i+j-1的字符串。
代码如下:
1 | class Solution { |
Runtime beats: 66.87%
Memory usage beats: 98.20%
讨论区解法
该解法利用DFS,用invalid[i][j]
数组记录s1[0~i]
和s2[0~j]
能否组成交错数组。
代码如下:
1 | class Solution { |
Runtime beats: 89.92%
Memory usage beats: 22.57%
评论