Av Yuvraj Chandra
E-post

Er strengen din et palindrom? Enten du bruker Python, C ++ eller JavaScript, bruk en av disse algoritmene for å finne ut.

En streng sies å være en palindrom hvis den opprinnelige strengen og dens revers er den samme. I denne artikkelen lærer du om algoritmen for å avgjøre om den gitte strengen er en palindrom eller ikke. Du lærer også hvordan du implementerer denne algoritmen på de mest populære programmeringsspråkene som C ++, Python, C og JavaScript.

Eksempler på palindromstreng

Nedenfor er noen eksempler på palindrom og ikke-palindrom strenger:

Algoritme for å bestemme om en gitt streng er en palindrom eller ikke

Algoritmer er ganske enkelt en serie instruksjoner som følges trinn for trinn for å gjøre noe nyttig eller løse et problem. Du kan løse strengpalindrom-problemet ved hjelp av algoritmen nedenfor:

  1. Deklarer en funksjon som godtar den gitte strengen som parameter.
  2. Lag en boolsk variabel og sett den til sann. La variabelen være flagg.
  3. instagram viewer
  4. Finn lengden på den gitte strengen. La lengden være n.
  5. Konverter den gitte strengen til små bokstaver for å gjøre sammenligningen mellom tegnene ikke store og små bokstaver.
  6. Initialiser den lave indeksvariabelen som lav og sett den til 0.
  7. Initialiser den høye indeksvariabelen som høy og sett den til n-1.
  8. Gjør følgende mens lav er mindre enn høy:
    • Sammenlign tegn ved lav indeks og høy indeks.
    • Hvis tegnene ikke stemte overens, sett flagget til false og bryt løkken.
    • Øk verdien av lav med 1 og reduser verdien av høy med 1.
  9. Hvis flagget er sant på slutten av funksjonen, betyr det at den gitte strengen er et palindrom.
  10. Hvis flagget er usant på slutten av funksjonen, betyr det at den gitte strengen ikke er et palindrom.

C ++ - program for å sjekke om en gitt streng er en palindrom eller ikke

Nedenfor er C ++ implementeringen for å avgjøre om den gitte strengen er en palindrom eller ikke:

// Inkludert biblioteker
#inkludere
bruker navneområde std;
// Funksjon for å sjekke strengpalindrom
void checkPalindrome (streng str)
{
// Flagg for å sjekke om den angitte strengen er et palindrom
bool flagg = sant;
// Finne lengden på strengen
int n = str. lengde ();
// Konvertering av strengen til små bokstaver
for (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initialisering av lav indeksvariabel
int lav = 0;
// Initialisering av høy indeksvariabel
int høy = n-1;
// Å kjøre løkken til høy er større enn lav
mens (høy> lav)
{
// Hvis tegnene ikke er like, setter du flagget til false
// og bryt fra løkken
hvis (str [høy]! = str [lav])
{
flagg = falsk;
gå i stykker;
}
// Øk variabelen med lav indeks
lav ++;
// Reduser den høye indeksvariabelen
høy--;
}
// Sjekk om flagget er sant eller usant
hvis (flagg)
{
cout << "Ja, den gitte strengen er en palindrom" << endl;
}
ellers
{
cout << "Nei, den gitte strengen er ikke et palindrom" << endl;
}
komme tilbake;
}
int main ()
{
// Prøvesak: 1
streng str1 = "MUO";
sjekkPalindrome (str1);
// Prøvesak: 2
streng str2 = "madam";
sjekkPalindrome (str2);
// Test case: 3
string str3 = "MAKEUSEOF";
sjekkPalindrome (str3);
// Prøvesak: 4
streng str4 = "racerbil";
sjekkPalindrome (str4);
// Prøvesak: 5
streng str5 = "mamma";
sjekkPalindrome (str5);
retur 0;
}

Produksjon:

Nei, den gitte strengen er ikke et palindrom 
Ja, den gitte strengen er en palindrom
Nei, den gitte strengen er ikke et palindrom
Ja, den gitte strengen er en palindrom
Ja, den gitte strengen er en palindrom

Python-program for å sjekke om en gitt streng er en palindrom eller ikke

Nedenfor er Python-implementeringen for å avgjøre om den gitte strengen er en palindrom eller ikke:

# Funksjon for å sjekke strengpalindrom
def checkPalindrome (str):
# Flagg for å sjekke om den gitte strengen er et palindrom
flagg = Sant
# Finne lengden på strengen
n = len (str)
# Konvertere strengen til små bokstaver
str = str. lavere ()
# Initialisering av lav indeksvariabel
lav = 0
# Initialiserer høy indeksvariabel
høy = n-1
# Å løpe løkken til høy er større enn lav
mens høy> lav:
# Hvis tegnene ikke er like, setter du flagget til false
# og bryt fra løkken
hvis str [høy]! = str [lav]:
flagg = Falsk
gå i stykker
# Øk variabelen med lav indeks
lav = lav + 1
# Reduser den høye indeksvariabelen
høy = høy - 1
# Sjekk om flagget er sant eller usant
hvis flagg:
utskrift ("Ja, den gitte strengen er en palindrom")
ellers:
utskrift ("Nei, den gitte strengen er ikke et palindrom")
# Test case: 1
str1 = "MUO"
checkPalindrome (str1)
# Test case: 2
str2 = "fru"
checkPalindrome (str2)
# Test case: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Test case: 4
str4 = "racerbil"
checkPalindrome (str4)
# Test case: 5
str5 = "mamma"
sjekkPalindrome (str5)

Produksjon:

Nei, den gitte strengen er ikke et palindrom
Ja, den gitte strengen er en palindrom
Nei, den gitte strengen er ikke et palindrom
Ja, den gitte strengen er en palindrom
Ja, den gitte strengen er en palindrom

C Program for å sjekke om en gitt streng er en palindrom eller ikke

Nedenfor er C-implementeringen for å bestemme om den gitte strengen er en palindrom eller ikke:

// Inkludert biblioteker
#inkludere
#inkludere
#inkludere
#inkludere
// Funksjon for å sjekke strengpalindrom
void checkPalindrome (char str [])
{
// Flagg for å sjekke om den angitte strengen er et palindrom
bool flagg = sant;
// Finne lengden på strengen
int n = strlen (str);
// Konvertering av strengen til små bokstaver
for (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initialisering av lav indeksvariabel
int lav = 0;
// Initialisering av høy indeksvariabel
int høy = n-1;
// Å kjøre løkken til høy er større enn lav
mens (høy> lav)
{
// Hvis tegnene ikke er like, setter du flagget til false
// og bryt fra løkken
hvis (str [høy]! = str [lav])
{
flagg = falsk;
gå i stykker;
}
// Øk variabelen med lav indeks
lav ++;
// Reduser den høye indeksvariabelen
høy--;
}
// Sjekk om flagget er sant eller usant
hvis (flagg)
{
printf ("Ja, den angitte strengen er en palindrom \ ⁠n");
}
ellers
{
printf ("Nei, den gitte strengen er ikke et palindrom \ ⁠n");
}
komme tilbake;
}
int main ()
{
// Prøvesak: 1
char str1 [] = "MUO";
sjekkPalindrome (str1);
// Prøvesak: 2
char str2 [] = "madam";
sjekkPalindrome (str2);
// Test case: 3
char str3 [] = "MAKEUSEOF";
sjekkPalindrome (str3);
// Prøvesak: 4
char str4 [] = "racerbil";
sjekkPalindrome (str4);
// Prøvesak: 5
char str5 [] = "mamma";
sjekkPalindrome (str5);
retur 0;
}

Produksjon:

Nei, den gitte strengen er ikke et palindrom 
Ja, den gitte strengen er en palindrom
Nei, den gitte strengen er ikke et palindrom
Ja, den gitte strengen er en palindrom
Ja, den gitte strengen er en palindrom

JavaScript-program for å sjekke om en gitt streng er en palindrom eller ikke

Nedenfor er JavaScript-implementeringen for å avgjøre om den gitte strengen er en palindrom eller ikke:

// Funksjon for å sjekke strengpalindrom
funksjonskontrollPalindrome (str) {
// Flagg for å sjekke om den angitte strengen er et palindrom
var flagg = sant;
// Finne lengden på strengen
var n = str. lengde;
// Konvertering av strengen til små bokstaver
str = str.toLowerCase ();
// Initialisering av lav indeksvariabel
var lav = 0;
// Initialisering av høy indeksvariabel
var høy = n-1;
// Å kjøre løkken til høy er større enn lav
mens (høy> lav) {
// Hvis tegnene ikke er like, setter du flagget til false
// og bryt fra løkken
hvis (str [høy]! = str [lav]) {
flagg = falsk;
gå i stykker;
}
// Øk variabelen med lav indeks
lav ++;
// Reduser den høye indeksvariabelen
høy--;
}
// Sjekk om flagget er sant eller usant
hvis (flagg) {
console.log ("Ja, den gitte strengen er en palindrom");
} annet {
console.log ("Nei, den gitte strengen er ikke et palindrom");
}
}
// Prøvesak: 1
var str1 = "MUO";
sjekkPalindrome (str1);
// Prøvesak: 2
var str2 = "madam";
sjekkPalindrome (str2);
// Test case: 3
var str3 = "MAKEUSEOF";
sjekkPalindrome (str3);
// Prøvesak: 4
var str4 = "racerbil";
sjekkPalindrome (str4);
// Prøvesak: 5
var str5 = "mamma";
sjekkPalindrome (str5);

Produksjon:

Nei, den gitte strengen er ikke et palindrom
Ja, den gitte strengen er en palindrom
Nei, den gitte strengen er ikke et palindrom
Ja, den gitte strengen er en palindrom
Ja, den gitte strengen er en palindrom

Lær hvordan du håndterer strenger i programmering

Arbeid med strenger er en integrert del av programmeringen. Du må vite hvordan du bruker og manipulerer strenger på et av programmeringsspråkene som Python, JavaScript, C ++, etc.

Hvis du leter etter et språk å begynne med, er Python et utmerket valg.

E-post
Lærer du Python? Slik manipulerer du strenger

Å bruke og manipulere strenger i Python kan virke vanskelig, men det er villedende greit.

Les Neste

Relaterte temaer
  • Programmering
  • Koding opplæringsprogrammer
Om forfatteren
Yuvraj Chandra (13 artikler publisert)

Yuvraj er en informatikk-student ved University of Delhi, India. Han brenner for Full Stack Web Development. Når han ikke skriver, utforsker han dybden i forskjellige teknologier.

Mer fra Yuvraj Chandra

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Ett steg til…!

Bekreft e-postadressen din i e-posten vi nettopp sendte deg.

.