Skip to content

Commit 130dd01

Browse files
committed
Fix a bug #14 reported by imley.
In such case: s1 = "b", s2 = "acca", s3 = "abcba", it would return true.
1 parent d00a631 commit 130dd01

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

InterleavingString.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ class Solution {
2828
int M = s1.size(), N = s2.size(), K = s3.size();
2929
if (M + N != K) return false;
3030

31-
int dp[N+1][M+1];
31+
bool dp[N+1][M+1];
32+
dp[0][0] = true;
3233
for (int i = 1; i <= N; ++i)
33-
dp[i][0] = s2[i-1] == s3[i-1];
34+
dp[i][0] = dp[i-1][0] && s2[i-1] == s3[i-1];
3435
for (int j = 1; j <= M; ++j)
35-
dp[0][j] = s1[j-1] == s3[j-1];
36+
dp[0][j] = dp[0][j-1] && s1[j-1] == s3[j-1];
3637

3738
for (int i = 1; i <= N; ++i)
3839
for (int j = 1; j <= M; ++j)

0 commit comments

Comments
 (0)