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

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

Строка называется палиндромом, если исходная строка и ее обратная сторона совпадают. В этой статье вы узнаете об алгоритме определения, является ли данная строка палиндромом или нет. Вы также узнаете, как реализовать этот алгоритм на самых популярных языках программирования, таких как 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 ++ для определения, является ли данная строка палиндромом:

сайты дешевых интернет-магазинов для электроники
// Including libraries
#include
using namespace std;
// Function to check string palindrome
void checkPalindrome(string str)
{
// Flag to check if the given string is a palindrome
bool flag = true;

// Finding the length of the string
int n = str.length();

// Converting the string to lowercase
for(int i = 0; i {
str[i] = tolower(str[i]);
}

// Initializing low index variable
int low = 0;

// Initializing high index variable
int high = n-1;

// Running the loop until high is greater than low
while (high > low)
{
// If the characters are not same, set the flag to false
// and break from the loop
if(str[high] != str[low])
{
flag = false;
break;
}

// Increment the low index variable
low++;

// Decrement the high index variable
high--;
}

// Check if flag is true or false
if (flag)
{
cout << 'Yes, the given string is a palindrome' << endl;
}
else
{
cout << 'No, the given string is not a palindrome' << endl;
}

return;

}
int main()
{
// Test case: 1
string str1 = 'MUO';
checkPalindrome(str1);

// Test case: 2
string str2 = 'madam';
checkPalindrome(str2);

// Test case: 3
string str3 = 'MAKEUSEOF';
checkPalindrome(str3);

// Test case: 4
string str4 = 'racecar';
checkPalindrome(str4);

// Test case: 5
string str5 = 'mom';
checkPalindrome(str5);

return 0;
}

Выход:



No, the given string is not a palindrome
Yes, the given string is a palindrome
No, the given string is not a palindrome
Yes, the given string is a palindrome
Yes, the given string is a palindrome

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

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

# Function to check string palindrome
def checkPalindrome(str):
# Flag to check if the given string is a palindrome
flag = True
# Finding the length of the string
n = len(str)
# Converting the string to lowercase
str = str.lower()
# Initializing low index variable
low = 0
# Initializing high index variable
high = n-1
# Running the loop until high is greater than low
while high > low:
# If the characters are not same, set the flag to false
# and break from the loop
if str[high] != str[low]:
flag = False
break
# Increment the low index variable
low = low + 1
# Decrement the high index variable
high = high - 1
# Check if flag is true or false
if flag:
print('Yes, the given string is a palindrome')
else:
print('No, the given string is not a palindrome')
# Test case: 1
str1 = 'MUO'
checkPalindrome(str1)
# Test case: 2
str2 = 'madam'
checkPalindrome(str2)
# Test case: 3
str3 = 'MAKEUSEOF'
checkPalindrome(str3)
# Test case: 4
str4 = 'racecar'
checkPalindrome(str4)
# Test case: 5
str5 = 'mom'
checkPalindrome(str5)

Выход:





No, the given string is not a palindrome
Yes, the given string is a palindrome
No, the given string is not a palindrome
Yes, the given string is a palindrome
Yes, the given string is a palindrome

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

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

// Including libraries
#include
#include
#include
#include
// Function to check string palindrome
void checkPalindrome(char str[])
{
// Flag to check if the given string is a palindrome
bool flag = true;
// Finding the length of the string
int n = strlen(str);
// Converting the string to lowercase
for(int i = 0; i {
str[i] = tolower(str[i]);
}
// Initializing low index variable
int low = 0;
// Initializing high index variable
int high = n-1;
// Running the loop until high is greater than low
while (high > low)
{
// If the characters are not same, set the flag to false
// and break from the loop
if(str[high] != str[low])
{
flag = false;
break;
}
// Increment the low index variable
low++;
// Decrement the high index variable
high--;
}
// Check if flag is true or false
if (flag)
{
printf('Yes, the given string is a palindrome ⁠n');
}
else
{
printf('No, the given string is not a palindrome ⁠n');
}
return;
}
int main()
{
// Test case: 1
char str1[] = 'MUO';
checkPalindrome(str1);
// Test case: 2
char str2[] = 'madam';
checkPalindrome(str2);
// Test case: 3
char str3[] = 'MAKEUSEOF';
checkPalindrome(str3);
// Test case: 4
char str4[] = 'racecar';
checkPalindrome(str4);
// Test case: 5
char str5[] = 'mom';
checkPalindrome(str5);
return 0;
}

Выход:





как поставить гугл календарь на рабочий стол windows 10
No, the given string is not a palindrome
Yes, the given string is a palindrome
No, the given string is not a palindrome
Yes, the given string is a palindrome
Yes, the given string is a palindrome

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

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

// Function to check string palindrome
function checkPalindrome(str) {
// Flag to check if the given string is a palindrome
var flag = true;
// Finding the length of the string
var n = str.length;
// Converting the string to lowercase
str = str.toLowerCase();
// Initializing low index variable
var low = 0;
// Initializing high index variable
var high = n-1;
// Running the loop until high is greater than low
while (high > low) {
// If the characters are not same, set the flag to false
// and break from the loop
if(str[high] != str[low]) {
flag = false;
break;
}
// Increment the low index variable
low++;
// Decrement the high index variable
high--;
}
// Check if flag is true or false
if (flag) {
console.log('Yes, the given string is a palindrome');
} else {
console.log('No, the given string is not a palindrome');
}
}
// Test case: 1
var str1 = 'MUO';
checkPalindrome(str1);
// Test case: 2
var str2 = 'madam';
checkPalindrome(str2);
// Test case: 3
var str3 = 'MAKEUSEOF';
checkPalindrome(str3);
// Test case: 4
var str4 = 'racecar';
checkPalindrome(str4);
// Test case: 5
var str5 = 'mom';
checkPalindrome(str5);

Выход:

No, the given string is not a palindrome
Yes, the given string is a palindrome
No, the given string is not a palindrome
Yes, the given string is a palindrome
Yes, the given string is a palindrome

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

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

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

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

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

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

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

Ещё от Yuvraj Chandra

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

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

Нажмите здесь, чтобы подписаться