【发布时间】:2013-04-13 21:37:41
【问题描述】:
我正在尝试在不使用内置 contains() 方法的情况下实现 String method contains()。
这是我目前所拥有的:
public static boolean containsCS(String str, CharSequence cs) {
char[] chs = str.toCharArray();
int i=0,j=chs.length-1,k=0,l=cs.length();
//String str = "Hello Java";
// 0123456789
//CharSequence cs = "llo";
while(i<j) {
if(str.charAt(i)!=cs.charAt(k)) {
i++;
}
if(str.charAt(i)==cs.charAt(k)) {
}
}
return false;
}
我只是在练习我的算法技能,结果卡住了。
有什么建议吗?
【问题讨论】:
-
为什么不看一下String.contains()方法的源代码?
-
值得学习一些算法。你可以从KMP algorithm开始。
-
@JBNizet 源码使用了
indexOf()的方法但是我不想用。 -
然后看indexOf()的源码。
-
我想这是有道理的。谢谢 JB Nizet。