Java实现 LeetCode 97 交错字符串
2024-09-07 14:18:40
97. 交错字符串
给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。
示例 1:
输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”
输出: true
示例 2:
输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”
输出: false
class Solution {
public boolean isInterleave(String s1, String s2, String s3) {
if((s1.length() + s2.length()) != s3.length()) return false;
boolean[][] dp = new boolean[s2.length() + 1][s1.length() + 1];
dp[0][0] = true;
for(int i = 1; i <= s1.length(); i++){
dp[0][i] = dp[0][i-1]&&s1.charAt(i-1)==s3.charAt(i-1)? true : false;
}
for(int i = 1; i <= s2.length(); i++){
dp[i][0] = dp[i-1][0]&&s2.charAt(i-1)==s3.charAt(i-1)? true : false;
}
for(int i = 1; i < dp.length; i++){
for(int j = 1; j < dp[0].length; j++){
dp[i][j] = (dp[i][j-1] && s1.charAt(j-1) == s3.charAt(i + j-1)) || (dp[i - 1][j] && s2.charAt(i-1) == s3.charAt(i + j-1));
}
}
return dp[s2.length()][s1.length()];
}
}
最新文章
- React(JSX语法)-----JSX基本语法
- Java--剑指offer(10)
- oracle中存储过程中调用存储过程
- ios严格检验身份证号码有效性
- HDU 1954 Subway tree systems (树的最小表示法)
- 关于IOS9更新的适应与适配
- 解决hexo神烦的DTraceProviderBindings MODULE_NOT_FOUND
- 好友与组--ESFramework 4.0 进阶(11)
- S2SH框架整合(注解)Struts2+Spring+Hibernate+MySql
- Leetcode解题-链表(2.2.3)PartitionList
- Redis在CentOS和Windows安装过程
- http 请求头和响应头
- 后台执行Bitmap加载
- redis 配置详解
- axur axure rp安装
- switch()语句
- 解题:POI2008 Building blocks
- Spring Boot系列教程五:使用properties配置文件实现多环境配置
- HDU 6197 array array array 2017沈阳网络赛 LIS
- VC++ windows开机自启动设置