Șirul tău este un palindrom? Fie că utilizați Python, C ++ sau JavaScript, utilizați unul dintre acești algoritmi pentru a afla.
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:
- Declarați o funcție care acceptă șirul dat ca parametru.
- Creați o variabilă booleană și setați-o la adevărat. Să fie variabila steag.
- Găsiți lungimea șirului dat. Să fie lungimea n.
- Convertiți șirul dat în minuscule pentru a face comparația dintre caracterele care nu disting majuscule și minuscule.
- Inițializați variabila cu index scăzut ca scăzut și setați-l la 0.
- Inițializați variabila cu index ridicat ca înalt și setați-l la n-1.
- 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 micșorați valoarea maximului cu 1.
- Dacă steagul este adevărat la sfârșitul funcției, înseamnă că șirul dat este un palindrom.
- Dacă steagul este fals la sfârșitul funcției, aceasta î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:
// Inclusiv biblioteci
#include
folosind spațiul de nume std;
// Funcție pentru a verifica palindromul șirului
void checkPalindrome (șir str)
{
// Semnalizați pentru a verifica dacă șirul dat este un palindrom
steag bool = adevărat;
// Găsirea lungimii șirului
int n = str.length ();
// Conversia șirului în minuscule
pentru (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initializarea variabilei index redus
int low = 0;
// Initializarea variabilei index mare
int high = n-1;
// Rularea buclei până la mare este mai mare decât la scăzut
în timp ce (ridicat> scăzut)
{
// Dacă caracterele nu sunt aceleași, setați steagul la fals
// și rupeți din buclă
if (str [high]! = str [low])
{
steag = fals;
pauză;
}
// Măriți variabila cu index scăzut
scăzut ++;
// Decrementează variabila cu index ridicat
înalt--;
}
// Verificați dacă pavilionul este adevărat sau fals
dacă (steag)
{
cout << "Da, șirul dat este un palindrom" << endl;
}
altceva
{
cout << "Nu, șirul dat nu este un palindrom" << endl;
}
întoarcere;
}
int main ()
{
// Caz de testare: 1
șir str1 = "MUO";
checkPalindrome (str1);
// Caz de testare: 2
șir str2 = "doamnă";
checkPalindrome (str2);
// Caz de testare: 3
șir str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Caz de testare: 4
string str4 = "racecar";
checkPalindrome (str4);
// Caz de testare: 5
string str5 = "mama";
checkPalindrome (str5);
retur 0;
}
Ieșire:
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Da, șirul dat este un palindrom
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:
# Funcție pentru a verifica palindromul șirului
verificare palindrom (str):
# Semnalizați pentru a verifica dacă șirul dat este un palindrom
steag = Adevărat
# Găsirea lungimii șirului
n = len (str)
# Conversia șirului în minuscule
str = str.lower ()
# Initializarea variabilei index redus
scăzut = 0
# Initializarea variabilei cu indice ridicat
ridicat = n-1
# Rularea buclei până la maxim este mai mare decât la minim
în timp ce înalt> scăzut:
# Dacă caracterele nu sunt aceleași, setați steagul la fals
# și rupeți din buclă
dacă str [high]! = str [low]:
steag = Fals
pauză
# Măriți variabila cu index scăzut
scăzut = scăzut + 1
# Decrementați variabila cu indice ridicat
ridicat = ridicat - 1
# Verificați dacă pavilionul este adevărat sau fals
dacă pavilion:
print („Da, șirul dat este un palindrom”)
altceva:
print („Nu, șirul dat nu este un palindrom”)
# Caz de testare: 1
str1 = "MUO"
checkPalindrome (str1)
# Caz de testare: 2
str2 = "doamna"
checkPalindrome (str2)
# Caz de testare: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Caz de testare: 4
str4 = "racecar"
checkPalindrome (str4)
# Caz de testare: 5
str5 = "mama"
checkPalindrome (str5)
Ieșire:
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Da, șirul dat este un palindrom
Program C pentru a verifica dacă un șir dat este sau nu un palindrom
Mai jos este implementarea C pentru a determina dacă șirul dat este un palindrom sau nu:
// Inclusiv biblioteci
#include
#include
#include
#include
// Funcție pentru a verifica palindromul șirului
void checkPalindrome (char str [])
{
// Semnalizați pentru a verifica dacă șirul dat este un palindrom
steag bool = adevărat;
// Găsirea lungimii șirului
int n = strlen (str);
// Conversia șirului în minuscule
pentru (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initializarea variabilei index redus
int low = 0;
// Initializarea variabilei index mare
int high = n-1;
// Rularea buclei până la mare este mai mare decât la scăzut
în timp ce (ridicat> scăzut)
{
// Dacă caracterele nu sunt aceleași, setați steagul la fals
// și rupeți din buclă
if (str [high]! = str [low])
{
steag = fals;
pauză;
}
// Măriți variabila cu index scăzut
scăzut ++;
// Decrementează variabila cu index ridicat
înalt--;
}
// Verificați dacă pavilionul este adevărat sau fals
dacă (steag)
{
printf ("Da, șirul dat este un palindrom \ n");
}
altceva
{
printf ("Nu, șirul dat nu este un palindrom \ n");
}
întoarcere;
}
int main ()
{
// Caz de testare: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Caz de testare: 2
char str2 [] = "doamnă";
checkPalindrome (str2);
// Caz de testare: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Caz de testare: 4
char str4 [] = "racecar";
checkPalindrome (str4);
// Caz de testare: 5
char str5 [] = "mama";
checkPalindrome (str5);
retur 0;
}
Ieșire:
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Da, șirul dat este un palindrom
Program JavaScript pentru a verifica dacă un șir dat este un palindrom sau nu
Mai jos este implementarea JavaScript pentru a determina dacă șirul dat este sau nu un palindrom:
// Funcție pentru a verifica palindromul șirului
verificare funcție Palindrom (str) {
// Semnalizați pentru a verifica dacă șirul dat este un palindrom
var flag = adevărat;
// Găsirea lungimii șirului
var n = str.length;
// Conversia șirului în minuscule
str = str.toLowerCase ();
// Initializarea variabilei index redus
var low = 0;
// Initializarea variabilei index mare
var high = n-1;
// Rularea buclei până la mare este mai mare decât la scăzut
while (ridicat> scăzut) {
// Dacă caracterele nu sunt aceleași, setați steagul la fals
// și rupeți din buclă
if (str [high]! = str [low]) {
steag = fals;
pauză;
}
// Măriți variabila cu index scăzut
scăzut ++;
// Decrementează variabila cu index ridicat
înalt--;
}
// Verificați dacă pavilionul este adevărat sau fals
if (flag) {
console.log ("Da, șirul dat este un palindrom");
} altceva {
console.log ("Nu, șirul dat nu este un palindrom");
}
}
// Caz de testare: 1
var str1 = "MUO";
checkPalindrome (str1);
// Caz de testare: 2
var str2 = "doamna";
checkPalindrome (str2);
// Caz de testare: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Caz de testare: 4
var str4 = "racecar";
checkPalindrome (str4);
// Caz de testare: 5
var str5 = "mama";
checkPalindrome (str5);
Ieșire:
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Nu, șirul dat nu este un palindrom
Da, șirul dat este un palindrom
Da, șirul dat este un palindrom
Aflați cum să faceți față șirurilor î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ă.
Utilizarea și manipularea șirurilor în Python poate părea dificilă, dar este înșelător de simplă.
Citiți în continuare
- Programare
- Tutoriale de codare
Yuvraj este student la Universitatea din Delhi, India. Este pasionat de dezvoltarea web Full Stack. Când nu scrie, explorează profunzimea diferitelor tehnologii.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.