Мне нужен алгоритм, который проверяет с максимально возможным временем выполнения, если строка является палиндром (строка может быть предложением с прописными или строчными буквами, пробелами и т. Д.). , Все это в 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()
функцию, но я не знаю, насколько это влияет на время выполнения.
А также я не знаю, как эффективно решить проблему с пунктуацией и пробелами между словами.
Ваш метод эффективен, как и все другие эффективные методы. Можно попытаться найти тот, который более эффективен, хотя .... – Marco13
Разве это не вопрос домашней работы? –
@RolandTepp Почему это имеет значение? –