gpt4 book ai didi

java - 降低 isPalindrome 解决方案的复杂性?

转载 作者:行者123 更新时间:2023-11-29 08:00:42 24 4
gpt4 key购买 nike

这是我的 isPalindrome 方法

public static boolean isPalindrome(String s){
for(int i = 0; i < s.length()/2; i++){
int j = s.length() - 1 - i;
if(s.charAt(i) != s.charAt(j))
return false;
}
return true;
}

我的老师说我可以降低复杂性,但我不知道该怎么做。我已经只经历了一半的字符串。有什么方法可以降低此解决方案的复杂性吗?

最佳答案

你可以尝试这样的事情:

public static boolean isPalindrome (String str) {
int left = 0;
int right = str.length() - 1;

while (left < right) {
if (str.charAt(left) != str.charAt(right))
return false;
left++;
right--;
}
return true;
}

这样做的好处是不用每次循环都计算右边的索引,特别是因为它每次都必须访问字符串长度(这是常量)。

顺便说一句,我也倾向于更喜欢比 sij 更有意义的变量名——我的基本规则是,如果您必须求助于 j,最好更明确地命名您的计数器(i 如果它是唯一的计数器就没问题)。

关于java - 降低 isPalindrome 解决方案的复杂性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14573631/

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