Af Yuvraj Chandra
E-mail

Er din streng en palindrom? Uanset om du bruger Python, C ++ eller JavaScript, skal du bruge en af ​​disse algoritmer til at finde ud af det.

En streng siges at være en palindrom, hvis den originale streng og dens omvendte er de samme. I denne artikel lærer du om algoritmen til at afgøre, om den givne streng er en palindrom eller ej. Du lærer også, hvordan du implementerer denne algoritme på de mest populære programmeringssprog som C ++, Python, C og JavaScript.

Eksempler på palindromstreng

Nedenfor er nogle eksempler på palindrome og ikke-palindrome strenge:

Algoritme til at bestemme, om en given streng er en palindrom eller ej

Algoritmer er simpelthen en række instruktioner, der følges trin for trin for at gøre noget nyttigt eller løse et problem. Du kan løse strengpalindrom-problemet ved hjælp af nedenstående algoritme:

  1. Erklær en funktion, der accepterer den givne streng som parameter.
  2. Opret en boolsk variabel, og indstil den til sand. Lad variablen være flag.
  3. Find længden af ​​den givne streng. Lad længden være n.
  4. Konverter den givne streng til små bogstaver for at gøre sammenligningen mellem tegn store og små bogstaver.
  5. Initialiser den lave indeksvariabel som lav og indstil den til 0.
  6. Initialiser den høje indeksvariabel som høj og indstil den til n-1.
  7. Gør følgende, mens lav er mindre end høj:
    • Sammenlign tegn med lavt og højt indeks.
    • Hvis tegnene ikke matchede, skal du indstille flaget til falsk og bryde sløjfen.
    • Forøg værdien af ​​lav med 1 og reducer værdien af ​​høj med 1.
  8. Hvis flaget er sandt i slutningen af ​​funktionen, betyder det, at den givne streng er et palindrom.
  9. Hvis flaget er falsk i slutningen af ​​funktionen, betyder det, at den givne streng ikke er et palindrom.

C ++ - program til at kontrollere, om en given streng er en palindrom eller ej

Nedenfor er C ++ implementeringen for at afgøre, om den givne streng er en palindrom eller ej:

// Inklusive biblioteker
#omfatte
ved hjælp af namespace std;
// Funktion til kontrol af strengpalindrom
ugyldig kontrolPalindrome (streng str)
{
// Marker for at kontrollere, om den givne streng er et palindrom
bool flag = sandt;
// Find længden af ​​strengen
int n = str. længde ();
// Konvertering af strengen til små bogstaver
for (int i = 0; i {
str [i] = lavere (str [i]);
}
// Initialisering af lavindeksvariabel
int lav = 0;
// Initialisering af højindeksvariabel
int høj = n-1;
// Kører løkken indtil høj er større end lav
mens (høj> lav)
{
// Hvis tegnene ikke er ens, skal du indstille flagget til falsk
// og bryde fra løkken
hvis (str [høj]! = str [lav])
{
flag = falsk;
pause;
}
// Forøg den lave indeksvariabel
lav ++;
// Reducer den høje indeksvariabel
høj--;
}
// Kontroller, om flag er sandt eller falsk
hvis (flag)
{
cout << "Ja, den givne streng er en palindrom" << endl;
}
andet
{
cout << "Nej, den givne streng er ikke en palindrom" << endl;
}
Vend tilbage;
}
int main ()
{
// Test sag: 1
streng str1 = "MUO";
checkPalindrome (str1);
// Test sag: 2
streng str2 = "fru";
checkPalindrome (str2);
// Test sag: 3
string str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Prøvesag: 4
streng str4 = "racerbil";
checkPalindrome (str4);
// Test sag: 5
streng str5 = "mor";
checkPalindrome (str5);
returnere 0;
}

Produktion:

Nej, den givne streng er ikke et palindrom 
Ja, den givne streng er en palindrom
Nej, den givne streng er ikke et palindrom
Ja, den givne streng er en palindrom
Ja, den givne streng er en palindrom

Python-program til kontrol af, om en given streng er en palindrom eller ej

Nedenfor er Python-implementeringen for at bestemme, om den givne streng er en palindrom eller ej:

# Funktion til at kontrollere strengpalindrom
def checkPalindrome (str):
# Marker for at kontrollere, om den givne streng er en palindrom
flag = sandt
# Find længden af ​​strengen
n = len (str)
# Konvertering af strengen til små bogstaver
str = str. lavere ()
# Initialisering af lavindeksvariabel
lav = 0
# Initialisering af højindeksvariabel
høj = n-1
# At køre løkken indtil høj er større end lav
mens høj> lav:
# Hvis tegnene ikke er ens, skal du indstille flag til falsk
# og bryde fra løkken
hvis str [høj]! = str [lav]:
flag = Falsk
pause
# Forøg den lave indeksvariabel
lav = lav + 1
# Reducer den høje indeksvariabel
høj = høj - 1
# Kontroller, om flag er sandt eller falsk
hvis flag:
print ("Ja, den givne streng er en palindrom")
andet:
print ("Nej, den givne streng er ikke et palindrom")
# Test sag: 1
str1 = "MUO"
checkPalindrome (str1)
# Test sag: 2
str2 = "fru"
checkPalindrome (str2)
# Test sag: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Test sag: 4
str4 = "racerbil"
checkPalindrome (str4)
# Test sag: 5
str5 = "mor"
checkPalindrome (str5)

Produktion:

Nej, den givne streng er ikke et palindrom
Ja, den givne streng er en palindrom
Nej, den givne streng er ikke et palindrom
Ja, den givne streng er en palindrom
Ja, den givne streng er en palindrom

C Program til at kontrollere, om en given streng er en palindrom eller ej

Nedenfor er C-implementeringen for at bestemme, om den givne streng er en palindrom eller ej:

// Inklusive biblioteker
#omfatte
#omfatte
#omfatte
#omfatte
// Funktion til kontrol af strengpalindrom
ugyldig kontrolPalindrome (char str [])
{
// Marker for at kontrollere, om den givne streng er et palindrom
bool flag = sandt;
// Find længden af ​​strengen
int n = strlen (str);
// Konvertering af strengen til små bogstaver
for (int i = 0; i {
str [i] = lavere (str [i]);
}
// Initialisering af lavindeksvariabel
int lav = 0;
// Initialisering af højindeksvariabel
int høj = n-1;
// Kører løkken indtil høj er større end lav
mens (høj> lav)
{
// Hvis tegnene ikke er ens, skal du indstille flagget til falsk
// og bryde fra løkken
hvis (str [høj]! = str [lav])
{
flag = falsk;
pause;
}
// Forøg den lave indeksvariabel
lav ++;
// Reducer den høje indeksvariabel
høj--;
}
// Kontroller, om flag er sandt eller falsk
hvis (flag)
{
printf ("Ja, den givne streng er en palindrome \ ⁠n");
}
andet
{
printf ("Nej, den givne streng er ikke et palindrom \ ⁠n");
}
Vend tilbage;
}
int main ()
{
// Test sag: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Test sag: 2
char str2 [] = "fru";
checkPalindrome (str2);
// Test sag: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Prøvesag: 4
char str4 [] = "racerbil";
checkPalindrome (str4);
// Test sag: 5
char str5 [] = "mor";
checkPalindrome (str5);
returnere 0;
}

Produktion:

Nej, den givne streng er ikke et palindrom 
Ja, den givne streng er en palindrom
Nej, den givne streng er ikke et palindrom
Ja, den givne streng er en palindrom
Ja, den givne streng er en palindrom

JavaScript-program til at kontrollere, om en given streng er en palindrom eller ej

Nedenfor er JavaScript-implementeringen for at afgøre, om den givne streng er en palindrom eller ej:

// Funktion til kontrol af strengpalindrom
funktionskontrolPalindrome (str) {
// Marker for at kontrollere, om den givne streng er et palindrom
var flag = sandt;
// Find længden af ​​strengen
var n = str. længde;
// Konvertering af strengen til små bogstaver
str = str.toLowerCase ();
// Initialisering af lavindeksvariabel
var lav = 0;
// Initialisering af højindeksvariabel
var høj = n-1;
// Kører løkken indtil høj er større end lav
mens (høj> lav) {
// Hvis tegnene ikke er ens, skal du indstille flagget til falsk
// og bryde fra løkken
hvis (str [høj]! = str [lav]) {
flag = falsk;
pause;
}
// Forøg den lave indeksvariabel
lav ++;
// Reducer den høje indeksvariabel
høj--;
}
// Kontroller, om flag er sandt eller falsk
hvis (flag) {
console.log ("Ja, den givne streng er en palindrom");
} andet {
console.log ("Nej, den givne streng er ikke et palindrom");
}
}
// Test sag: 1
var str1 = "MUO";
checkPalindrome (str1);
// Test sag: 2
var str2 = "fru";
checkPalindrome (str2);
// Test sag: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Prøvesag: 4
var str4 = "racerbil";
checkPalindrome (str4);
// Test sag: 5
var str5 = "mor";
checkPalindrome (str5);

Produktion:

Nej, den givne streng er ikke et palindrom
Ja, den givne streng er en palindrom
Nej, den givne streng er ikke et palindrom
Ja, den givne streng er en palindrom
Ja, den givne streng er en palindrom

Lær hvordan du håndterer strenge i programmering

Arbejde med strenge er en integreret del af programmeringen. Du skal vide, hvordan du bruger og manipulerer strenge på et hvilket som helst af programmeringssprogene som Python, JavaScript, C ++ osv.

Hvis du leder efter et sprog at starte med, er Python et fremragende valg.

E-mail
Lærer du Python? Sådan manipuleres strenge

Brug og manipulering af strenge i Python kan virke vanskeligt, men det er vildledende ligetil.

Læs Næste

Relaterede emner
  • Programmering
  • Kodning Tutorials
Om forfatteren
Yuvraj Chandra (13 artikler offentliggjort)

Yuvraj er en bachelorstudent i datalogi ved University of Delhi, Indien. Han brænder for Full Stack Webudvikling. Når han ikke skriver, udforsker han dybden af ​​forskellige teknologier.

Mere fra Yuvraj Chandra

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.

.