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

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

За низ се каже да је палиндром ако су изворни низ и његова обрнута страна исти. У овом чланку ћете научити о алгоритму да бисте утврдили да ли је дати низ палиндром или не. Такође ћете научити како имплементирати овај алгоритам у најпопуларније програмске језике попут Ц ++, Питхон, Ц и ЈаваСцрипт.





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

Испод је неколико примера палиндромских и непалиндромских низова:





Алгоритам за утврђивање да ли је дати низ палиндром или није

Алгоритми су једноставно низ упутстава која се следе, корак по корак, да бисте учинили нешто корисно или решили проблем. Проблем палиндрома низа можете решити помоћу следећег алгоритма:





  1. Прогласите функцију која прихвата дати низ као параметар.
  2. Направите логичку променљиву и поставите је на труе. Нека је променљива застава .
  3. Нађи дужину датог низа. Нека је дужина н .
  4. Претворите дати низ у мала слова да бисте направили поређење између знакова који не разликују велика и мала слова.
  5. Иницијализујте променљиву ниског индекса као ниска и поставите га на 0.
  6. Иницијализујте променљиву високог индекса као високо и подесите га на н-1.
  7. Урадите следеће док је ниско мање од високог:
    • Упоредите знакове са ниским индексом и високим индексом.
    • Ако се знакови не подударају, поставите заставицу на фалсе и прекините петљу.
    • Повећајте вредност ниског за 1 и смањите вредност високог за 1.
  8. Ако је заставица тачна на крају функције, то значи да је дати низ палиндром.
  9. Ако је заставица лажна на крају функције, то значи да дати низ није палиндром.

Ц ++ програм за проверу да ли је дати низ палиндром или није

Испод је имплементација Ц ++ да бисте утврдили да ли је дати низ палиндром или није:

упоредите 2 датотеке у бележници ++
// 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

Питхон програм за проверу да ли је дати низ палиндром или није

Испод је Питхон имплементација за утврђивање да ли је дати низ палиндром или није:

# 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

Ц Програм за проверу да ли је дати низ палиндром или није

Испод је имплементација Ц да се утврди да ли је дати низ палиндром или није:

// 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;
}

Излаз:





бежично пресликајте свој Мац на свом року
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

ЈаваСцрипт програм за проверу да ли је дати низ палиндром или није

Испод је ЈаваСцрипт имплементација за утврђивање да ли је дати низ палиндром или није:

// 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

Научите како се носити са низовима у програмирању

Рад са низовима је саставни део програмирања. Морате знати како да користите и манипулишете низовима у било ком од програмских језика као што су Питхон, ЈаваСцрипт, Ц ++ итд.

Ако тражите језик за почетак, Питхон је одличан избор.

Објави Објави Твеет Емаил Учење Питхона? Ево како се манипулише низовима

Коришћење и руковање низовима у Питхону може изгледати тешко, али је варљиво једноставно.

Прочитајте следеће
Повезане теме
  • Програмирање
  • Кодирање Туториали
О аутору Иуврај Цхандра(Објављено 60 чланака)

Иуврај је студент основних студија рачунарства на Универзитету у Делхију у Индији. Он је страствен за Фулл Стацк Веб Девелопмент. Кад не пише, истражује дубину различитих технологија.

Још од Иуврај Цхандра

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили