Interleaving String
来源:互联网 发布:淘大象软件下载 编辑:程序博客网 时间:2024/06/06 18:15
public class Solution {
public boolean isInterleave(String s1, String s2, String s3) {
if(s2==null||s2.length()==0) //s2同理
return s1.equals(s3);
if(s1.length()+s2.length()!=s3.length())
return false;
boolean [][] dp=new boolean[s1.length()+1][s2.length()+1]; //使用动态规划
dp[0][0]=true;
for(int i=0;i<s1.length();i++){
dp[i+1][0]=dp[i][0]&&s1.charAt(i)==s3.charAt(i);
for(int j=0;j<s2.length();j++){
dp[0][j+1]=dp[0][j]&&s2.charAt(j)==s3.charAt(j);
dp[i+1][j+1]=(dp[i+1][j]==true&&s2.charAt(j)==s3.charAt(i+j+1))||(dp[i][j+1]==true&&s1.charAt(i)==s3.charAt(i+j+1));
}
}
return dp[s1.length()][s2.length()];
}
}
public boolean isInterleave(String s1, String s2, String s3) {
if(s1==null||s1.length()==0) //判断s1是否为null 因为如果s1==null,又调用了s1.length() 会抛出 java.lang.NullPointerException异常
return s2.equals(s3);if(s2==null||s2.length()==0) //s2同理
return s1.equals(s3);
if(s1.length()+s2.length()!=s3.length())
return false;
boolean [][] dp=new boolean[s1.length()+1][s2.length()+1]; //使用动态规划
dp[0][0]=true;
for(int i=0;i<s1.length();i++){
dp[i+1][0]=dp[i][0]&&s1.charAt(i)==s3.charAt(i);
for(int j=0;j<s2.length();j++){
dp[0][j+1]=dp[0][j]&&s2.charAt(j)==s3.charAt(j);
dp[i+1][j+1]=(dp[i+1][j]==true&&s2.charAt(j)==s3.charAt(i+j+1))||(dp[i][j+1]==true&&s1.charAt(i)==s3.charAt(i+j+1));
}
}
return dp[s1.length()][s2.length()];
}
}
0 0
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- CAShapeLayer和CAGradientLayer:圆形进度条和动画
- i2c_check_functionality函数的实现
- C++ string 类 学习笔记
- 1037. 在霍格沃茨找零钱(20)
- 和差值最小的数组划分问题
- Interleaving String
- 数据库-删除表中重复记录实现方法分析
- Count Primes
- UML用例图
- nmake编译QWT产生的几个错误
- SpringMVC-11 处理json
- 读取excel(POI)【转换为html】
- Qt程序在ARM板上无法显示JPG格式图片的解决方法
- 用chsh选择shell