Cum să verificați dacă un șir este un palindrom

Cum să verificați dacă un șir este un palindrom

Se spune că un șir este un palindrom dacă șirul original și reversul său sunt aceleași. În acest articol, veți afla despre algoritm pentru a determina dacă șirul dat este un palindrom sau nu. De asemenea, veți învăța cum să implementați acest algoritm în cele mai populare limbaje de programare precum C ++, Python, C și JavaScript.





Exemple de șir de palindrom

Mai jos sunt câteva exemple de șiruri de palindrom și non-palindrom:





Algoritm pentru a determina dacă un șir dat este un palindrom sau nu

Algoritmii sunt pur și simplu o serie de instrucțiuni care sunt urmate, pas cu pas, pentru a face ceva util sau pentru a rezolva o problemă. Puteți rezolva problema palindromului de șiruri folosind algoritmul de mai jos:





  1. Declarați o funcție care acceptă șirul dat ca parametru.
  2. Creați o variabilă booleană și setați-o la adevărat. Să fie variabila steag .
  3. Găsiți lungimea șirului dat. Să fie lungimea n .
  4. Convertiți șirul dat în minuscule pentru a face comparația dintre caracterele care nu disting majuscule și minuscule.
  5. Inițializați variabila cu index scăzut ca scăzut și setați-l la 0.
  6. Inițializați variabila cu index ridicat ca înalt și setați-l la n-1.
  7. Efectuați următoarele în timp ce scăzut este mai puțin decât ridicat:
    • Comparați caracterele cu index scăzut și index ridicat.
    • Dacă caracterele nu se potrivesc, setați steagul la fals și rupeți bucla.
    • Măriți valoarea minimului cu 1 și diminuați valoarea maximului cu 1.
  8. Dacă steagul este adevărat la sfârșitul funcției, înseamnă că șirul dat este un palindrom.
  9. Dacă steagul este fals la sfârșitul funcției, înseamnă că șirul dat nu este un palindrom.

Program C ++ pentru a verifica dacă un șir dat este un palindrom sau nu

Mai jos este implementarea C ++ pentru a determina dacă șirul dat este un palindrom sau nu:

de ce computerul meu continuă să piardă conexiunea la internet
// 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;
}

Ieșire:



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

Program Python pentru a verifica dacă un șir dat este un palindrom sau nu

Mai jos este implementarea Python pentru a determina dacă șirul dat este un palindrom sau nu:

# 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)

Ieșire:





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

Program C pentru a verifica dacă un șir dat este un palindrom sau nu

Mai jos este implementarea C pentru a determina dacă șirul dat este un palindrom sau nu:

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

Ieșire:





cum să vă îmbunătățiți laptopul pentru jocuri
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

Program JavaScript pentru a verifica dacă un șir dat este sau nu un palindrom

Mai jos este implementarea JavaScript pentru a determina dacă șirul dat este un palindrom sau nu:

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

Ieșire:

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

Aflați cum să vă ocupați de șiruri în programare

Lucrul cu șiruri este o parte integrantă a programării. Trebuie să știți cum să utilizați și să manipulați șirurile în oricare dintre limbajele de programare precum Python, JavaScript, C ++ etc.

Dacă sunteți în căutarea unei limbi cu care să începeți, Python este o alegere excelentă.

Acțiune Acțiune Tweet E-mail Învățați Python? Iată Cum se manipulează șirurile

Utilizarea și manipularea șirurilor în Python poate părea dificilă, dar este înșelător de simplă.

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • Tutoriale de codare
Despre autor Yuvraj Chandra(60 de articole publicate)

Yuvraj este student la Universitatea din Delhi, India. Este pasionat de dezvoltarea web Full Stack. Când nu scrie, explorează profunzimea diferitelor tehnologii.

Mai multe de la Yuvraj Chandra

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona