下面是调用递归方法的代码:
if (isSubstring(str1, str2))
System.out.println ("\"" + str1 + "\" is a substring of " +
"\"" + str2 + "\"");
else
System.out.println ("\"" + str1 + "\" is not a substring of " +
"\"" + str2 + "\"");
这是我到目前为止完成的方法,它几乎可以工作:
public static boolean isSubstring(String str, String target)
{
if (target.length() == 0)
return false;
if (str.equals(target))
return true;
else
return (isSubstring(str, target.substring(0,target.length()-1)));
}
因此,如果 str1 作为“zzz”传递而 str2 作为“zzzabcdef”传递,那么它会返回 true。但是,如果 str2 是“abczzzxx”或“abczzz”,它不会返回 true。有没有人有任何建议或想法?