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

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

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

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

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

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

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

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

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

 // Including libraries
#include <bits/stdc++.h>
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 < n; 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 <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
// 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 < n; 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;
}

Выход:

 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 – отличный выбор.