Делал задание на проверку палиндром строка или нет. В интернет смотрел и код у всех очень большой и не очень понятен мне. Я сделал сам и получилось как-то очень мало кода. Может я сделал что-то не то? Вроде ж работает и проверяет. Подскажите.
$str = "A nut for a jar of tuna";
$str = strtolower(str_replace(" ","",$str));
for($i = 0; $i < strlen($str); $i++){
$left .= $str[$i];
$right = $str[$i].$right;
}
if($left == $right){
echo "$str - это Палиндром";
}else{
echo "$str - Это не Палиндром";
}
В целом подход верный, но вот цикл
for($i = 0; $i < strlen($str); $i++){
$left .= $str[$i];
$right = $str[$i].$right;
}
можно заменить на метод strrev который переворачивает строку вот дока: http://php.net/manual/ru/function.strrev.php Но если интересует нативный подход, то для проверки слова на палиндром достаточно знать, что одна половина строки равна другой И псевдо код примерно будет выглядить так
function isPalindrome (text)
if text is null
return false
left ← 0
right ← text.length - 1
while (left < right)
if text[left] is not text[right]
return false
left ← left + 1
right ← right - 1
return true
Ещё вариант в коллекцию ответов (работает так же и с кириллицей) :
echo palindrome('А роза упала на лапу Азора'); // "Палиндромная строка"
function palindrome($str) {
$str = str_replace(' ', '', mb_strtolower($str, 'UTF-8'));
return $str == join(array_reverse(preg_split('||u', $str)))
? 'Палиндромная строка' : 'Простая строка';
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый деньВторой день бьюсь над проблемой: необходимо вернуть JSON объект, для дальнейшей обработки в android-приложении
Здравствуйте, у меня в БД есть поле(varchar) и в нем хранятся слова через запятую (Слово, слово2, слово3) и у меня вопрос: Как правильно с помощью...
Есть curl запрос который принимает данные и записывает в бдВопрос: есть ли какая уязвимость здесь и если есть то как защититься? Я про подделывания...