Interleaving String
2013-07-11 00:13
218 查看
Given s1, s2, s3,
find whether s3 is formed by the interleaving of s1 and s2.
For example,
Given:
s1 =
s2 =
When s3 =
return true.
When s3 =
return false.
find whether s3 is formed by the interleaving of s1 and s2.
For example,
Given:
s1 =
"aabcc",
s2 =
"dbbca",
When s3 =
"aadbbcbcac",
return true.
When s3 =
"aadbbbaccc",
return false.
class Solution { public: bool isInterleave(string s1, string s2, string s3) { // Start typing your C/C++ solution below // DO NOT write int main() function int N1 = s1.size(); int N2 = s2.size(); if(N1+N2 != s3.size()) return false; vector<vector<bool>> f(N1+1, vector<bool>(N2+1, 1)); for(int i = 1; i <= N1; i++){ f[i][0] = f[i-1][0] && s3[i-1] == s1[i-1]; } for(int j = 1; j <= N2; j++){ f[0][j] = f[0][j-1] && s3[j-1] == s2[j-1]; } for(int i = 1; i <= N1; i++){ for(int j = 1; j <= N2; j++){ f[i][j] = (f[i-1][j] && s3[i+j-1] == s1[i-1]) || ( f[i][j-1] && s3[i+j-1] == s2[j-1]); } } return f[N1][N2]; } };
相关文章推荐
- leetcode_097 Interleaving String
- LeetCode 笔记系列 20 Interleaving String [动态规划的抽象]
- 【leetCode】Interleaving String
- leetcode:Interleaving String
- Interleaving String
- leetcode[97] Interleaving String
- LeetCode(97) Interleaving String
- Interleaving String
- 97. Interleaving String
- LeetCode Interleaving String
- Leetcode - 97.Interleaving String
- 97. Interleaving String
- [LeetCode] Interleaving String [30]
- [LeetCode] Interleaving String 解题报告
- leetcode第一刷_Interleaving String
- Leetcode#97 Interleaving String
- Interleaving String
- [LeetCode] Interleaving String
- Interleaving String - LeetCode
- LeetCode-Interleaving String