Avtor Yuvraj Chandra
E-naslov

Je vaša struna palindrom? Ali uporabljate Python, C ++ ali JavaScript, za ugotovitev uporabite enega od teh algoritmov.

Niz naj bi bil palindrom, če sta izvirni niz in njegova hrbtna stran enaka. V tem članku boste izvedeli o algoritmu za ugotavljanje, ali je dani niz palindrom ali ne. Naučili se boste tudi, kako implementirati ta algoritem v najbolj priljubljenih programskih jezikih, kot so C ++, Python, C in JavaScript.

Primeri palindromske strune

Spodaj je nekaj primerov nizov palindroma in nepalindroma:

Algoritem za ugotavljanje, ali je dani niz palindrom ali ne

Algoritmi so preprosto vrsta navodil, ki jih korak za korakom upoštevamo, da naredimo nekaj koristnega ali rešimo težavo. Težavo s palindromom lahko rešite z uporabo spodnjega algoritma:

  1. Navedite funkcijo, ki sprejema dani niz kot parameter.
  2. Ustvarite logično spremenljivko in jo nastavite na true. Naj bo spremenljivka zastavo.
  3. Poiščite dolžino danega niza. Naj bo dolžina n.
  4. instagram viewer
  5. Pretvorite dani niz v male črke, da bo primerjava med znaki neobčutljiva na velike in male črke.
  6. Inicializirajte spremenljivko z nizkim indeksom kot nizko in ga nastavite na 0.
  7. Inicializirajte spremenljivko z visokim indeksom kot visoko in ga nastavite na n-1.
  8. Naredite naslednje, medtem ko je nizka nižja od visoke:
    • Primerjajte znake pri nizkem in visokem indeksu.
    • Če se znaki ne ujemajo, zastavico nastavite na false in prekinite zanko.
    • Povečajte vrednost low za 1 in vrednost high zmanjšajte za 1.
  9. Če je zastavica na koncu funkcije resnična, to pomeni, da je dani niz palindrom.
  10. Če je zastavica na koncu funkcije neresnična, to pomeni, da dani niz ni palindrom.

Program C ++ za preverjanje, ali je dani niz palindrom ali ne

Spodaj je izvedba C ++ za določitev, ali je dani niz palindrom ali ne:

// Vključno s knjižnicami
#include
uporaba imenskega prostora std;
// Funkcija za preverjanje niza palindrom
void checkPalindrome (niz str)
{
// Označi, da preveri, ali je dani niz palindrom
zastavica bool = res;
// Iskanje dolžine niza
int n = str.length ();
// Pretvorba niza v male črke
za (int i = 0; i {
str [i] = spodnji del (str [i]);
}
// Inicializacija spremenljivke z nizkim indeksom
int nizko = 0;
// Inicializacija spremenljivke z visokim indeksom
int visoko = n-1;
// Zagon zanke, dokler visoka ni večja od nizke
medtem ko (visoko> nizko)
{
// Če znaki niso enaki, zastavico nastavite na false
// in prekinitev iz zanke
če (str [visoko]! = str [nizko])
{
zastava = napačno;
odmor;
}
// Povečanje spremenljivke z nizkim indeksom
nizko ++;
// Zmanjšaj spremenljivko visokega indeksa
visoko--;
}
// Preverite, ali je zastavica resnična ali neresnična
če (zastava)
{
cout << "Da, dani niz je palindrom" << endl;
}
drugače
{
cout << "Ne, dani niz ni palindrom" << endl;
}
vrnitev;
}
int main ()
{
// Testni primer: 1
niz str1 = "MUO";
checkPalindrome (str1);
// Testni primer: 2
niz str2 = "gospa";
checkPalindrome (str2);
// Testni primer: 3
niz str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Testni primer: 4
niz str4 = "dirkalnik";
checkPalindrome (str4);
// Testni primer: 5
niz str5 = "mama";
checkPalindrome (str5);
vrnitev 0;
}

Izhod:

Ne, dani niz ni palindrom 
Da, dani niz je palindrom
Ne, dani niz ni palindrom
Da, dani niz je palindrom
Da, dani niz je palindrom

Program Python za preverjanje, ali je dani niz palindrom ali ne

Spodaj je izvedba Pythona, ki določa, ali je dani niz palindrom ali ne:

# Funkcija za preverjanje nizov palindrom
def checkPalindrome (str):
# Označi za preverjanje, ali je dani niz palindrom
zastava = True
# Iskanje dolžine niza
n = len (str)
# Pretvorba niza v male črke
str = str.lower ()
# Inicializacija spremenljivke z nizkim indeksom
nizko = 0
# Inicializacija spremenljivke z visokim indeksom
visoko = n-1
# Zagon zanke, dokler visoka ni večja od nizke
medtem ko je visoka> nizka:
# Če znaki niso enaki, zastavico nastavite na false
# in prekinite z zanke
če je str [visoko]! = str [nizko]:
zastava = napačno
odmor
# Povečajte spremenljivko z nizkim indeksom
nizko = nizko + 1
# Zmanjšajte spremenljivko z visokim indeksom
visoko = visoko - 1
# Preverite, ali je zastavica resnična ali neresnična
če zastava:
print ("Da, dani niz je palindrom")
sicer:
print ("Ne, dani niz ni palindrom")
# Testni primer: 1
str1 = "MUO"
checkPalindrome (str1)
# Testni primer: 2
str2 = "gospa"
checkPalindrome (str2)
# Testni primer: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Testni primer: 4
str4 = "dirkalnik"
checkPalindrome (str4)
# Testni primer: 5
str5 = "mama"
checkPalindrome (str5)

Izhod:

Ne, dani niz ni palindrom
Da, dani niz je palindrom
Ne, dani niz ni palindrom
Da, dani niz je palindrom
Da, dani niz je palindrom

Program za preverjanje, ali je dani niz palindrom ali ne

Spodaj je izvedba C, ki določa, ali je dani niz palindrom ali ne:

// Vključno s knjižnicami
#include
#include
#include
#include
// Funkcija za preverjanje niza palindrom
void checkPalindrome (char str [])
{
// Označi, da preveri, ali je dani niz palindrom
zastavica bool = res;
// Iskanje dolžine niza
int n = strlen (str);
// Pretvorba niza v male črke
za (int i = 0; i {
str [i] = spodnji del (str [i]);
}
// Inicializacija spremenljivke z nizkim indeksom
int nizko = 0;
// Inicializacija spremenljivke z visokim indeksom
int visoko = n-1;
// Zagon zanke, dokler visoka ni večja od nizke
medtem ko (visoko> nizko)
{
// Če znaki niso enaki, zastavico nastavite na false
// in prekinitev iz zanke
če (str [visoko]! = str [nizko])
{
zastava = napačno;
odmor;
}
// Povečanje spremenljivke z nizkim indeksom
nizko ++;
// Zmanjšaj spremenljivko visokega indeksa
visoko--;
}
// Preverite, ali je zastavica resnična ali neresnična
če (zastava)
{
printf ("Da, dani niz je palindrom \ ⁠n");
}
drugače
{
printf ("Ne, dani niz ni palindrom \ ⁠n");
}
vrnitev;
}
int main ()
{
// Testni primer: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Testni primer: 2
char str2 [] = "gospa";
checkPalindrome (str2);
// Testni primer: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Testni primer: 4
char str4 [] = "dirkalnik";
checkPalindrome (str4);
// Testni primer: 5
char str5 [] = "mama";
checkPalindrome (str5);
vrnitev 0;
}

Izhod:

Ne, dani niz ni palindrom 
Da, dani niz je palindrom
Ne, dani niz ni palindrom
Da, dani niz je palindrom
Da, dani niz je palindrom

Program JavaScript za preverjanje, ali je dani niz palindrom ali ne

Spodaj je izvedba JavaScript za določitev, ali je dani niz palindrom ali ne:

// Funkcija za preverjanje niza palindrom
function checkPalindrome (str) {
// Označi, da preveri, ali je dani niz palindrom
var zastava = res;
// Iskanje dolžine niza
var n = str.length;
// Pretvorba niza v male črke
str = str.toLowerCase ();
// Inicializacija spremenljivke z nizkim indeksom
var nizko = 0;
// Inicializacija spremenljivke z visokim indeksom
var visoko = n-1;
// Zagon zanke, dokler visoka ni večja od nizke
medtem ko (visoko> nizko) {
// Če znaki niso enaki, zastavico nastavite na false
// in prekinitev iz zanke
if (str [visoko]! = str [nizko]) {
zastava = napačno;
odmor;
}
// Povečanje spremenljivke z nizkim indeksom
nizko ++;
// Zmanjšaj spremenljivko visokega indeksa
visoko--;
}
// Preverite, ali je zastavica resnična ali neresnična
če (zastava) {
console.log ("Da, dani niz je palindrom");
} še {
console.log ("Ne, dani niz ni palindrom");
}
}
// Testni primer: 1
var str1 = "MUO";
checkPalindrome (str1);
// Testni primer: 2
var str2 = "gospa";
checkPalindrome (str2);
// Testni primer: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Testni primer: 4
var str4 = "dirkalnik";
checkPalindrome (str4);
// Testni primer: 5
var str5 = "mama";
checkPalindrome (str5);

Izhod:

Ne, dani niz ni palindrom
Da, dani niz je palindrom
Ne, dani niz ni palindrom
Da, dani niz je palindrom
Da, dani niz je palindrom

Naučite se ravnati z nizi pri programiranju

Delo z nizi je sestavni del programiranja. Vedeti morate, kako uporabljati in upravljati nize v katerem koli programskem jeziku, kot so Python, JavaScript, C ++ itd.

Če iščete jezik za začetek, je Python odlična izbira.

E-naslov
Učenje Pythona? Tu je navodila za upravljanje z nizi

Uporaba in upravljanje nizov v Pythonu se lahko zdi težavna, vendar je varljivo enostavna.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Vadnice za kodiranje
O avtorju
Yuvraj Chandra (13 objavljenih člankov)

Yuvraj je dodiplomski študent računalništva na Univerzi v Delhiju v Indiji. Navdušen je nad spletnim razvojem Full Stack. Ko ne piše, raziskuje globino različnih tehnologij.

Več od Yuvraj Chandra

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.