gpt4 book ai didi

java - JAVA中的递归字符串

转载 作者:行者123 更新时间:2023-12-01 16:44:50 25 4
gpt4 key购买 nike

我正在用JAVA编写,我编写了一个递归 boolean 函数,它获取2个字符串,并且如果第一个字符串是第二个字符串的前缀,则应该返回。我的代码:

public static boolean prefix(String s, String t)
{
int i = s.length()-1;
if (s.charAt(i) == t.charAt(i) && s.length() >= 0)
{
return true;
}
return false;
}

例如,如果我在主要内容中写入:

s = "Del";
f = "Delight";

该功能也可以正常工作。

但如果我写的是 s = "Dellll", f = "Dell",它会显示“超出范围”。为什么?

第二件事是它不适用于大字符和小字符。例如:

s ="Dell"
f ="dell"

对于上述内容,它将返回 true。

谢谢。

最佳答案

使用开箱即用的解决方案怎么样?

public static boolean prefix(String str, String prefix) {
return str.startsWith(prefix);
}

如果你确实需要递归:

public static boolean prefix(String str, String prefix) {
if (str == null || str.isEmpty())
return prefix == null || prefix.isEmpty();
if (prefix == null || prefix.isEmpty())
return true;
if (str.charAt(0) != prefix.charAt(0))
return false;
// remove first character of each string and go to next iteration
return prefix(str.substring(1), prefix.substring(1));
}

关于java - JAVA中的递归字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53871817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com