gpt4 book ai didi

java - 判断一个字符串是否为回文的最快方法

转载 作者:搜寻专家 更新时间:2023-11-01 01:10:21 26 4
gpt4 key购买 nike

如果字符串是回文(字符串可以是带有大写或小写字母、空格等的命题),我需要一种算法以尽可能快的执行时间进行验证。所有这些都在 Java 中。我有一个样本:

bool isPalindrome(string s) {
int n = s.length();
s = s.toLowerCase();
for (int i = 0; i < (n / 2) + 1; ++i) {
if (s.charAt(i) != s.charAt(n - i - 1)) {
return false;
}
}
return true;
}

我使用 .toLowerCase() 函数将字符串转换为小写字母,但我不知道它对执行时间的影响有多大。

而且我也不知道如何有效地解决标点符号和单词之间的空格问题。

最佳答案

我认为您可以只检查字符串 reverse,不是吗?

StringBuilder sb = new StringBuilder(str);
return str.equals(sb.reverse().toString());

或者,对于早于 JDK 1.5 的版本:

StringBuffer sb = new StringBuffer(str);
return str.equals(sb.reverse().toString());

关于java - 判断一个字符串是否为回文的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21403782/

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