gpt4 book ai didi

java - 为什么这在 Java 和字符串长度中有效

转载 作者:行者123 更新时间:2023-12-02 00:34:54 26 4
gpt4 key购买 nike

我刚刚完成作业中的一个问题,其目的是找到字符串中最长的回文,所以如果你有一个字符串“hellomomomkk”,那么它将返回 momom 作为给定字符串的最长回文。

       for(int i = 0; i < s.length(); i++) {
for(int j = i; j <= s.length(); j++) {
if(isPalindrome(s.substring(i, j))) {
if(s.substring(i, j).length() > longest.length()) {
longest = s.substring(i, j);
}
}
}
}
return longest;

isPalindrome 正如它所说,如果子字符串是回文,则返回 true 或 false。我的问题是这样的。为什么我这样做的时候会这样

for(int j = i; j <= s.length(); j++)

我的代码有效吗?但如果我这样做

for(int j = i; j < s.length(); j++)

我的代码已损坏,如果字符串是“Hello”,j 将以 5 结尾,但实际字符数是从 0 开始的 4 个字符?那么为什么 <= 代码中没有错误呢?为什么它有效?

最佳答案

substring(i, j)

j(第二个参数)被认为位于该索引处的字符的左侧。

如果字符串是

"A"
"A".substring(0, 1);

returns "A", as it ends before the character in slot 1 (which doesn't exist)

关于java - 为什么这在 Java 和字符串长度中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060971/

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