public class Solution {
public boolean isInterleave(String s1, String s2, String s3) {
if(s1.
length()+s2.
length() !=s3.
length()) {
return false;
}
else {
boolean fg[][] = new boolean[s1.
length()+
1][s2.
length()+
1];
fg[
0][
0] =
true;
for(
int i =
1; i< s1.
length()+
1;i++) {
if(s1.charAt(i-
1) == s3.charAt(i-
1) && fg[i-
1][
0]) {
fg[i][
0] =
true;
}
}
for(
int i =
1; i < s2.
length()+
1;i++) {
if(s2.charAt(i-
1) == s3.charAt(i-
1) && fg[
0][i-
1]) {
fg[
0][i] =
true;
}
}
for(
int i =
1; i < s1.
length()+
1; i++) {
for(
int j=
1; j < s2.
length()+
1; j++) {
if(s1.charAt(i-
1) == s3.charAt(i+j-
1) && fg[i-
1][j]) {
fg[i][j] =
true;
}
if(s2.charAt(j-
1) == s3.charAt(i+j-
1) &&fg[i][j-
1]) {
fg[i][j] =
true;
}
}
}
return fg[s1.
length()][s2.
length()];
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-16398.html