您的位置:首页 > 其它

97. Interleaving String

2017-03-09 21:56 204 查看
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()];
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: