Автор Юврадж Чандра
Электронное письмо

Ваша строка - это палиндром? Используете ли вы Python, C ++ или JavaScript, используйте один из этих алгоритмов, чтобы узнать.

Строка называется палиндромом, если исходная строка и ее обратная сторона совпадают. В этой статье вы узнаете об алгоритме определения, является ли данная строка палиндромом или нет. Вы также узнаете, как реализовать этот алгоритм на самых популярных языках программирования, таких как C ++, Python, C и JavaScript.

Примеры строки палиндрома

Ниже приведены несколько примеров палиндромных и непалиндромных строк:

Алгоритм определения того, является ли данная строка палиндромом или нет

Алгоритмы - это просто серия инструкций, которые выполняются шаг за шагом, чтобы сделать что-то полезное или решить проблему. Вы можете решить проблему строкового палиндрома, используя следующий алгоритм:

  1. Объявите функцию, которая принимает данную строку в качестве параметра.
  2. Создайте логическую переменную и установите для нее значение true. Пусть переменная будет флаг.
  3. Найдите длину данной строки. Пусть длина будет п.
  4. Преобразуйте заданную строку в нижний регистр, чтобы сравнение символов регистрировалось.
  5. Инициализируйте переменную с низким индексом как низкий и установите его на 0.
  6. Инициализируйте переменную с высоким индексом как высокая и установите его на n-1.
  7. Сделайте следующее, пока низкий уровень меньше высокого:
    • Сравните символы с низким индексом и высоким индексом.
    • Если символы не совпадают, установите флаг в значение false и прервите цикл.
    • Увеличьте значение low на 1 и уменьшите значение high на 1.
  8. Если в конце функции установлен флаг «истина», это означает, что данная строка является палиндромом.
  9. Если в конце функции установлен флаг false, это означает, что данная строка не является палиндромом.

Программа на C ++ для проверки, является ли данная строка палиндромом или нет

Ниже приведена реализация C ++ для определения, является ли данная строка палиндромом:

// Включая библиотеки
#включать
используя пространство имен std;
// Функция для проверки строкового палиндрома
void checkPalindrome (строка str)
{
// Флаг, чтобы проверить, является ли данная строка палиндромом
bool flag = true;
// Находим длину строки
int n = длина строки ();
// Преобразование строки в нижний регистр
для (int i = 0; я {
str [i] = tolower (str [i]);
}
// Инициализируем переменную с низким индексом
int low = 0;
// Инициализируем переменную с высоким индексом
int high = n-1;
// Запуск цикла, пока высокий уровень не станет больше минимума
пока (высокий> низкий)
{
// Если символы не совпадают, установите флаг в false
// и выходим из цикла
if (str [high]! = str [low])
{
flag = false;
перерыв;
}
// Увеличиваем переменную нижнего индекса
низкий ++;
// Уменьшаем значение переменной с высоким индексом
высокая--;
}
// Проверяем, является ли флаг истинным или ложным
если (флаг)
{
cout << "Да, данная строка является палиндромом" << endl;
}
еще
{
cout << "Нет, данная строка не является палиндромом" << endl;
}
возвращаться;
}
int main ()
{
// Тестовый пример: 1
строка str1 = "MUO";
checkPalindrome (str1);
// Тестовый пример: 2
строка str2 = "мадам";
checkPalindrome (str2);
// Тестовый пример: 3
строка str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Тестовый пример: 4
строка str4 = "гоночный автомобиль";
checkPalindrome (str4);
// Тестовый пример: 5
строка str5 = "мама";
checkPalindrome (str5);
возврат 0;
}

Выход:

Нет, данная строка не является палиндромом 
Да, данная строка является палиндромом
Нет, данная строка не является палиндромом
Да, данная строка является палиндромом
Да, данная строка является палиндромом

Программа Python для проверки, является ли данная строка палиндромом или нет

Ниже представлена ​​реализация Python, чтобы определить, является ли данная строка палиндромом или нет:

# Функция для проверки строкового палиндрома
def checkPalindrome (str):
# Флаг, чтобы проверить, является ли данная строка палиндромом
flag = True
# Нахождение длины строки
n = len (str)
# Преобразование строки в нижний регистр
str = str.lower ()
# Инициализация переменной с низким индексом
низкий = 0
# Инициализация переменной с высоким индексом
высокий = n-1
# Запуск цикла до тех пор, пока высокий уровень не станет больше низкого
пока высокий> низкий:
# Если символы не совпадают, установите флаг в false
# и выйти из цикла
если str [high]! = str [low]:
flag = False
перерыв
# Увеличиваем переменную с низким индексом
низкий = низкий + 1
# Уменьшаем значение переменной с высоким индексом
высокий = высокий - 1
# Проверяем, является ли флаг истинным или ложным
если флаг:
print ("Да, данная строка - палиндром")
еще:
print ("Нет, данная строка не палиндром")
# Тестовый пример: 1
str1 = "MUO"
checkPalindrome (str1)
# Тестовый пример: 2
str2 = "мадам"
checkPalindrome (str2)
# Тестовый пример: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Тестовый пример: 4
str4 = "гоночный автомобиль"
checkPalindrome (str4)
# Тестовый пример: 5
str5 = "мама"
checkPalindrome (str5)

Выход:

Нет, данная строка не является палиндромом
Да, данная строка является палиндромом
Нет, данная строка не является палиндромом
Да, данная строка является палиндромом
Да, данная строка является палиндромом

Программа на C для проверки, является ли данная строка палиндромом

Ниже приведена реализация C, чтобы определить, является ли данная строка палиндромом или нет:

// Включая библиотеки
#включать
#включать
#включать
#включать
// Функция для проверки строкового палиндрома
недействительная проверкаПалиндром (char str [])
{
// Флаг, чтобы проверить, является ли данная строка палиндромом
bool flag = true;
// Находим длину строки
int n = strlen (строка);
// Преобразование строки в нижний регистр
для (int i = 0; я {
str [i] = tolower (str [i]);
}
// Инициализируем переменную с низким индексом
int low = 0;
// Инициализируем переменную с высоким индексом
int high = n-1;
// Запуск цикла, пока высокий уровень не станет больше минимума
пока (высокий> низкий)
{
// Если символы не совпадают, установите флаг в false
// и выходим из цикла
if (str [high]! = str [low])
{
flag = false;
перерыв;
}
// Увеличиваем переменную нижнего индекса
низкий ++;
// Уменьшаем значение переменной с высоким индексом
высокая--;
}
// Проверяем, является ли флаг истинным или ложным
если (флаг)
{
printf ("Да, данная строка является палиндромом \ ⁠n");
}
еще
{
printf ("Нет, данная строка не является палиндромом \ ⁠n");
}
возвращаться;
}
int main ()
{
// Тестовый пример: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Тестовый пример: 2
char str2 [] = "мадам";
checkPalindrome (str2);
// Тестовый пример: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Тестовый пример: 4
char str4 [] = "гоночный автомобиль";
checkPalindrome (str4);
// Тестовый пример: 5
char str5 [] = "мама";
checkPalindrome (str5);
возврат 0;
}

Выход:

Нет, данная строка не является палиндромом 
Да, данная строка является палиндромом
Нет, данная строка не является палиндромом
Да, данная строка является палиндромом
Да, данная строка является палиндромом

Программа на JavaScript для проверки, является ли данная строка палиндромом или нет

Ниже приведена реализация JavaScript для определения, является ли данная строка палиндромом или нет:

// Функция для проверки строкового палиндрома
function checkPalindrome (str) {
// Флаг, чтобы проверить, является ли данная строка палиндромом
var flag = true;
// Находим длину строки
var n = длина строки;
// Преобразование строки в нижний регистр
str = str.toLowerCase ();
// Инициализируем переменную с низким индексом
var low = 0;
// Инициализируем переменную с высоким индексом
var high = n-1;
// Запуск цикла, пока высокий уровень не станет больше минимума
в то время как (высокий> низкий) {
// Если символы не совпадают, установите флаг в false
// и выходим из цикла
if (str [high]! = str [low]) {
flag = false;
перерыв;
}
// Увеличиваем переменную нижнего индекса
низкий ++;
// Уменьшаем значение переменной с высоким индексом
высокая--;
}
// Проверяем, является ли флаг истинным или ложным
if (flag) {
console.log («Да, данная строка - палиндром»);
} еще {
console.log («Нет, данная строка не является палиндромом»);
}
}
// Тестовый пример: 1
var str1 = "MUO";
checkPalindrome (str1);
// Тестовый пример: 2
var str2 = "мадам";
checkPalindrome (str2);
// Тестовый пример: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Тестовый пример: 4
var str4 = "гоночный автомобиль";
checkPalindrome (str4);
// Тестовый пример: 5
вар str5 = "мама";
checkPalindrome (str5);

Выход:

Нет, данная строка не является палиндромом
Да, данная строка является палиндромом
Нет, данная строка не является палиндромом
Да, данная строка является палиндромом
Да, данная строка является палиндромом

Узнайте, как работать со строками в программировании

Работа со строками - неотъемлемая часть программирования. Вы должны знать, как использовать и управлять строками на любом из языков программирования, таких как Python, JavaScript, C ++ и т. Д.

Если вы ищете язык для начала, Python - отличный выбор.

Электронное письмо
Изучение Python? Вот как манипулировать строками

Использование строк и управление ими в Python может показаться трудным, но это обманчиво просто.

Читать далее

Похожие темы
  • Программирование
  • Учебники по кодированию
Об авторе
Юврадж Чандра (Опубликовано 13 статей)

Юврадж - студент бакалавриата по информатике в Университете Дели, Индия. Он увлечен веб-разработкой Full Stack. Когда он не пишет, он исследует глубину различных технологий.

Ещё от Yuvraj Chandra

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.

.