Как да проверите дали низ е палиндром

Как да проверите дали низ е палиндром

Низ се казва палиндром, ако оригиналният низ и неговият обрат са еднакви. В тази статия ще научите за алгоритъма, за да определите дали даденият низ е палиндром или не. Ще научите също как да внедрите този алгоритъм в най -популярните езици за програмиране като C ++, Python, C и JavaScript.





Примери за палиндромен низ

По-долу са дадени някои примери за палиндромни и непалиндромни струни:





Алгоритъм за определяне дали даден низ е палиндром или не

Алгоритмите са просто поредица от инструкции, които се следват стъпка по стъпка, за да се направи нещо полезно или да се реши проблем. Можете да решите проблема с палиндрома на низовете, като използвате следния алгоритъм:





  1. Декларирайте функция, която приема зададения низ като параметър.
  2. Създайте булева променлива и я задайте на true. Нека променливата бъде флаг .
  3. Намерете дължината на дадения низ. Нека дължината бъде н .
  4. Преобразувайте дадения низ в малки букви, за да направите сравнението между знаците, безразлични към регистъра.
  5. Инициализирайте променливата с нисък индекс като ниско и го задайте на 0.
  6. Инициализирайте променливата с висок индекс като Високо и го задайте на n-1.
  7. Направете следното, докато ниското е по -малко от високото:
    • Сравнете знаците с нисък индекс и висок индекс.
    • Ако знаците не съвпадат, задайте флага на false и прекъснете цикъла.
    • Увеличете стойността на ниско с 1 и намалете стойността на високо с 1.
  8. Ако флагът е истина в края на функцията, това означава, че даденият низ е палиндром.
  9. Ако флагът е невярен в края на функцията, това означава, че даденият низ не е палиндром.

C ++ програма за проверка дали даден низ е палиндром или не

По -долу е изпълнението на C ++, за да се определи дали даденият низ е палиндром или не:

как да проверите кой ви е следвал в instagram
// 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;
}

Изход:





можете ли да сдвоите airpods с android
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 Web Development. Когато не пише, изследва дълбочината на различните технологии.

Още от Yuvraj Chandra

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате