Kirjoittanut Yuvraj Chandra
Sähköposti

Onko kielesi palindromi? Käytitpä sitten Pythonia, C ++: ta tai JavaScriptiä, käytä jotain näistä algoritmeista saadaksesi selville.

Merkkijonon sanotaan olevan palindromi, jos alkuperäinen merkkijono ja sen kääntöpuoli ovat samat. Tässä artikkelissa opit algoritmista sen määrittämiseksi, onko annettu merkkijono palindromi vai ei. Opit myös, kuinka tämä algoritmi otetaan käyttöön suosituimmilla ohjelmointikielillä, kuten C ++, Python, C ja JavaScript.

Esimerkkejä palindromijonosta

Alla on joitain esimerkkejä palindromi- ja ei-palindromikielistä:

Algoritmi sen määrittämiseksi, onko tietty merkkijono palindromi vai ei

Algoritmit ovat yksinkertaisesti sarja ohjeita, joita noudatetaan askel askeleelta tehdäksesi jotain hyödyllistä tai ratkaisemaan ongelman. Voit ratkaista merkkijono-palindromin ongelman seuraavalla algoritmilla:

  1. Ilmoita funktio, joka hyväksyy annetun merkkijonon parametrina.
  2. Luo looginen muuttuja ja aseta se tosi. Olkoon muuttuja lippu.
  3. instagram viewer
  4. Etsi annetun merkkijonon pituus. Olkoon pituus n.
  5. Muunna annettu merkkijono pieniksi, jotta merkkien välinen vertailu ei eroa kirjainkokoa.
  6. Alusta matalan indeksin muuttuja muodossa matala ja aseta se arvoon 0.
  7. Alusta korkean indeksin muuttuja muodossa korkea ja aseta se arvoon n-1.
  8. Tee seuraava, kun matala on vähemmän kuin korkea:
    • Vertaa merkkejä matalalla ja korkealla indeksillä.
    • Jos merkit eivät täsmää, aseta lippu vääräksi ja katkaise silmukka.
    • Kasvata matalan arvoa yhdellä ja vähennä korkean arvoa yhdellä.
  9. Jos lippu on tosi funktion lopussa, se tarkoittaa, että annettu merkkijono on palindromi.
  10. Jos lippu on väärä toiminnon lopussa, se tarkoittaa, että annettu merkkijono ei ole palindromi.

C ++ -ohjelma sen tarkistamiseksi, onko tietty merkkijono palindromi vai ei

Alla on C ++ -toteutus sen määrittämiseksi, onko annettu merkkijono palindromi vai ei:

// Sisältää kirjastot
#sisältää
käyttämällä nimitilaa vakio;
// Funktio merkkijonon palindromin tarkistamiseksi
void checkPalindrome (merkkijono str)
{
// Merkitse tarkistaaksesi onko annettu merkkijono palindromi
bool-lippu = tosi;
// Merkkijonon pituuden etsiminen
int n = str. pituus ();
// Muunna merkkijono pieniksi kirjaimiksi
for (int i = 0; i {
str [i] = tolveri (str [i]);
}
// Alustetaan matalan indeksin muuttuja
int matala = 0;
// Alustetaan korkean indeksin muuttuja
int korkea = n-1;
// Silmukan suorittaminen korkealle on suurempi kuin matala
kun (korkea> matala)
{
// Jos merkit eivät ole samat, aseta lippu vääräksi
// ja katkaise silmukasta
jos (str [korkea]! = str [matala])
{
lippu = väärä;
tauko;
}
// Kasvata matalan indeksin muuttujaa
matala ++;
// Vähennä korkean indeksin muuttujaa
korkea--;
}
// Tarkista, onko lippu tosi vai väärä
jos (lippu)
{
cout << "Kyllä, annettu merkkijono on palindromi" << endl;
}
muu
{
cout << "Ei, annettu merkkijono ei ole palindromi" << endl;
}
palata;
}
int main ()
{
// Testitapaus: 1
merkkijono str1 = "MUO";
checkPalindrome (str1);
// Testitapaus: 2
merkkijono str2 = "rouva";
checkPalindrome (str2);
// Testitapaus: 3
merkkijono str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Testitapaus: 4
merkkijono str4 = "kilpa-auto";
checkPalindrome (str4);
// Testitapaus: 5
merkkijono str5 = "äiti";
checkPalindrome (str5);
paluu 0;
}

Tuotos:

Ei, annettu merkkijono ei ole palindromi 
Kyllä, annettu merkkijono on palindromi
Ei, annettu merkkijono ei ole palindromi
Kyllä, annettu merkkijono on palindromi
Kyllä, annettu merkkijono on palindromi

Python-ohjelma sen tarkistamiseksi, onko tietty merkkijono palindromi vai ei

Alla on Python-toteutus sen määrittämiseksi, onko annettu merkkijono palindromi vai ei:

# Toiminto merkkijonon palindromin tarkistamiseksi
def tarkistusPalindromi (str):
# Lippu tarkistaaksesi onko annettu merkkijono palindromi
lippu = Tosi
# Merkkijonon pituuden etsiminen
n = len (str)
# Muunna merkkijono pieniksi
str = str. alempi ()
# Alustetaan matalan indeksin muuttuja
matala = 0
# Alustetaan korkean indeksin muuttuja
korkea = n-1
# Silmukan juokseminen korkeuteen on suurempi kuin matala
kun taas korkea> matala:
# Jos merkit eivät ole samat, aseta lippu vääräksi
# ja katkaise silmukka
jos str [korkea]! = str [matala]:
lippu = väärä
tauko
# Kasvata matalan indeksin muuttujaa
matala = matala + 1
# Vähennä korkean indeksin muuttujaa
korkea = korkea - 1
# Tarkista, onko lippu tosi vai väärä
jos lippu:
tulosta ("Kyllä, annettu merkkijono on palindromi")
muu:
tulosta ("Ei, annettu merkkijono ei ole palindromi")
# Testitapaus: 1
str1 = "MUO"
checkPalindrome (str1)
# Testitapaus: 2
str2 = "rouva"
checkPalindrome (str2)
# Testitapaus: 3
str3 = "MAKEUS"
checkPalindrome (str3)
# Testitapaus: 4
str4 = "kilpa-auto"
checkPalindrome (str4)
# Testitapaus: 5
str5 = "äiti"
checkPalindrome (str5)

Tuotos:

Ei, annettu merkkijono ei ole palindromi
Kyllä, annettu merkkijono on palindromi
Ei, annettu merkkijono ei ole palindromi
Kyllä, annettu merkkijono on palindromi
Kyllä, annettu merkkijono on palindromi

C-ohjelma sen tarkistamiseksi, onko tietty merkkijono palindromi vai ei

Alla on C-toteutus sen määrittämiseksi, onko annettu merkkijono palindromi vai ei:

// Sisältää kirjastot
#sisältää
#sisältää
#sisältää
#sisältää
// Funktio merkkijonon palindromin tarkistamiseksi
void checkPalindrome (char str [])
{
// Merkitse tarkistaaksesi onko annettu merkkijono palindromi
bool-lippu = tosi;
// Merkkijonon pituuden etsiminen
int n = strlen (str);
// Muunna merkkijono pieniksi kirjaimiksi
for (int i = 0; i {
str [i] = tolveri (str [i]);
}
// Alustetaan matalan indeksin muuttuja
int matala = 0;
// Alustetaan korkean indeksin muuttuja
int korkea = n-1;
// Silmukan suorittaminen korkealle on suurempi kuin matala
kun (korkea> matala)
{
// Jos merkit eivät ole samat, aseta lippu vääräksi
// ja katkaise silmukasta
jos (str [korkea]! = str [matala])
{
lippu = väärä;
tauko;
}
// Kasvata matalan indeksin muuttujaa
matala ++;
// Vähennä korkean indeksin muuttujaa
korkea--;
}
// Tarkista, onko lippu tosi vai väärä
jos (lippu)
{
printf ("Kyllä, annettu merkkijono on palindromi \ ⁠n");
}
muu
{
printf ("Ei, annettu merkkijono ei ole palindromi \ ⁠n");
}
palata;
}
int main ()
{
// Testitapaus: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Testitapaus: 2
char str2 [] = "rouva";
checkPalindrome (str2);
// Testitapaus: 3
char str3 [] = "MEIKKI";
checkPalindrome (str3);
// Testitapaus: 4
char str4 [] = "kilpa-auto";
checkPalindrome (str4);
// Testitapaus: 5
char str5 [] = "äiti";
checkPalindrome (str5);
paluu 0;
}

Tuotos:

Ei, annettu merkkijono ei ole palindromi 
Kyllä, annettu merkkijono on palindromi
Ei, annettu merkkijono ei ole palindromi
Kyllä, annettu merkkijono on palindromi
Kyllä, annettu merkkijono on palindromi

JavaScript-ohjelma sen tarkistamiseksi, onko tietty merkkijono palindromi vai ei

Alla on JavaScript-toteutus sen määrittämiseksi, onko annettu merkkijono palindromi vai ei:

// Funktio merkkijonon palindromin tarkistamiseksi
toiminnon tarkistusPalindrome (str) {
// Merkitse tarkistaaksesi onko annettu merkkijono palindromi
var lippu = tosi;
// Merkkijonon pituuden etsiminen
var n = str. pituus;
// Muunna merkkijono pieniksi kirjaimiksi
str = str.LowerCase ();
// Alustetaan matalan indeksin muuttuja
var pieni = 0;
// Alustetaan korkean indeksin muuttuja
var korkea = n-1;
// Silmukan suorittaminen korkealle on suurempi kuin matala
kun (korkea> matala) {
// Jos merkit eivät ole samat, aseta lippu vääräksi
// ja katkaise silmukasta
jos (str [korkea]! = str [matala]) {
lippu = väärä;
tauko;
}
// Kasvata matalan indeksin muuttujaa
matala ++;
// Vähennä korkean indeksin muuttujaa
korkea--;
}
// Tarkista, onko lippu tosi vai väärä
jos (lippu) {
console.log ("Kyllä, annettu merkkijono on palindromi");
} muu {
console.log ("Ei, annettu merkkijono ei ole palindromi");
}
}
// Testitapaus: 1
var str1 = "MUO";
checkPalindrome (str1);
// Testitapaus: 2
var str2 = "rouva";
checkPalindrome (str2);
// Testitapaus: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Testitapaus: 4
var str4 = "kilpa-auto";
checkPalindrome (str4);
// Testitapaus: 5
var str5 = "äiti";
checkPalindrome (str5);

Tuotos:

Ei, annettu merkkijono ei ole palindromi
Kyllä, annettu merkkijono on palindromi
Ei, annettu merkkijono ei ole palindromi
Kyllä, annettu merkkijono on palindromi
Kyllä, annettu merkkijono on palindromi

Opi käsittelemään merkkijonoja ohjelmoinnissa

Merkkijonojen käyttö on olennainen osa ohjelmointia. Sinun on osattava käyttää ja käsitellä merkkijonoja millä tahansa ohjelmointikielellä, kuten Python, JavaScript, C ++ jne.

Jos etsit kieltä aluksi, Python on erinomainen valinta.

Sähköposti
Oppitko Pythonia? Näin käsitellään merkkijonoja

Merkkijonojen käyttö ja käsittely Pythonissa voi tuntua vaikealta, mutta se on petollisen suoraviivaista.

Lue seuraava

Liittyvät aiheet
  • Ohjelmointi
  • Koodausoppaat
Kirjailijasta
Yuvraj Chandra (13 artikkelia julkaistu)

Yuvraj on tietojenkäsittelytieteen perustutkinto-opiskelija Delhin yliopistossa Intiassa. Hän on intohimoisesti Full Stack -verkkokehitys. Kun hän ei kirjoita, hän tutkii eri tekniikoiden syvyyttä.

Lisää artistilta Yuvraj Chandra

Tilaa uutiskirjeemme

Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja erikoistarjouksia!

Vielä yksi askel !!!

Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.

.