- /*我觉得这个题目可以用KMP算法或者简单字符串匹配来做
- 下面的index = index +key.length();好像没有考虑到如果找到第一个子串的位置,加以后又是key串
- 例如 str=aaaa key =aa 第一个位置是0,然后偏移一个位置后一样是key串
- */
- class StringDemo1
- {
- public static void main(String[] args)
- {
- String str = "aaaaa";
- String key = "aa";
- System.out.println(getSubCount_2(str,key));
- }
- public static int getSubCount_2(String str,String key)
- {
- int count = 0;
- int index = 0;
- while((index = str.indexOf(key,index))!=-1)
- {
- index = index + key.length();//我觉得应该为index= index+1;
- count++;
- }
- return count;
- }
- }
复制代码 |
|