判断一个字符串是否在另一个字符串中:O(m+n)
2012-10-07 15:35
381 查看
public class TestSubStr {
public static void main(String[] args) {
String str1 = "abcdefghijklmn";
String str2 = "hca";
//开辟一个辅助数组,并初始化为0
int[] hash = new int[26];
//num为辅助数组中元素个数
int num = 0;
//扫描短字符串
for(int i=0; i<str2.length(); i++){
//将字符转换成辅助数组中的索引
int index = str2.toCharArray()[i] - 'a';
//如果辅助数组中该索引对应元素为0
if(hash[index]==0){
hash[index] = 1;
num++;
}
}
//扫描长字符串
for(int i=0; i<str1.length(); i++){
int index = str1.toCharArray()[i] - 'a';
if(hash[index]==1){
hash[index] = 0;
num--;
if(num==0)
break;
}
}
if(num==0)
System.out.println("包含");
else
System.out.println("不包含");
}
}
相关文章推荐
- php如何判断一个字符串是否包含另一个字符串
- js判断一个字符串是否在另一个字符串中存在 indexOf
- java jfinal 判断一个字符串是否包含另一个字符串
- 判断一个字符串是否为另一个字符串的子串
- 关于javascript中判断一个字符串是否包含另一个字符串
- php之substr_count判断一个字符串是否包含另一个字符串
- 判断一个字符串中是否包含另一个字符串
- php如何判断一个字符串是否包含另一个字符串
- 算法4— 判断一个字符串里是否包含另一个字符串所有的字符
- 判断一个字符串里是否包含另一个字符串所有的字符
- 判断一个字符串里是否包含另一个字符串所有的字符
- [数据库][SQLServer]判断一个字符串中是否包含另一个字符串
- 判断一个字符串是否为另一个字符串的旋转后的子字符串
- JAVA中判断一个字符串是否包含另一个字符串
- 判断一个字符串是否为另一个旋转之后的字符串
- 判断一个给定的字符串通过循环移位是否可以包含另一个字符串
- [VB.NET]请问在VB.net中怎样判断一个字符串是否是另一个字符串的子字符串?
- 判断一个字符串中的字符是否都在另一个中出现
- C#中,怎么判断一个字符串包含是否不包含另一个字符串
- 用一个Python程序来判断一个字符串是否是另一个字符串的sublist