我想检查字符串是否包含子列表
例如,str1 = "qwertyuiop"
和str2 = "tyu"
returns true
我写了一个iterative
方法。
public static boolean checkString(String str1, String str2) {
for (int i=0; i<str2.length(); i++) {
int j = 0;
for (; j<str1.length()&& str1.charAt(j)!=str2.charAt(i); j++) {
}
if (j== str1.length())
return false;
}
return true;
}
我正在尝试将其更改为recursive
方法但不确定如何有两个嵌套for循环。
先感谢您。
答案 0 :(得分:3)
我建议你专注于其他活动。 Java已经包含了一个执行您正在实现的功能的函数,它就像String.contains(CharSequence)
一样
if (str1.contains(str2)) { // <-- wherever you would have called "checkString"
// ...
}
答案 1 :(得分:1)
public class Test {
public static void main(String[] args) {
System.out.println(isSubstring("ankur", "ku"));
}
public static boolean isSubstring(String str1, String str2) {
if ((str1 == null) || (str2 == null) || str1.isEmpty()) {
return false;
} else if (str1.startsWith(str2)) {
return true;
} else {
return isSubstring(str1.substring(1), str2);
}
}
}