如果字符串是回文(字符串可以是带有大写或小写字母,空格等的命题),我需要一种能够以最快的执行时间进行验证的算法.所有这些都在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;
}
Run Code Online (Sandbox Code Playgroud)
我使用.toLowerCase()函数将字符串转换为小写字母,但我不知道它对执行时间有多大影响.
而且我不知道如何以有效的方式解决标点符号和单词之间的空格问题.