97. Interleaving String

来源:互联网 发布:java面向对象例题 编辑:程序博客网 时间:2024/06/06 14:37
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()];        }    }}
0 0
原创粉丝点击