Je vaša struna palindróm? Či už používate Python, C ++ alebo JavaScript, zistite to pomocou jedného z týchto algoritmov.
O šnúrke sa hovorí, že je palindróm, ak je pôvodná šnúra a jej zadná strana rovnaká. V tomto článku sa dozviete o algoritme na určenie, či je daný reťazec palindróm alebo nie. Dozviete sa tiež, ako implementovať tento algoritmus v najpopulárnejších programovacích jazykoch, ako sú C ++, Python, C a JavaScript.
Príklady reťazca Palindrome
Ďalej uvádzame niekoľko príkladov reťazcov palindrómu a neindindrómu:
Algoritmus na určenie, či je daný reťazec palindróm alebo nie
Algoritmy sú jednoducho séria pokynov, ktoré sa postupujú krok za krokom, aby sa urobilo niečo užitočné alebo vyriešil problém. Problém s palindrómom reťazcov môžete vyriešiť pomocou nižšie uvedeného algoritmu:
- Deklarujte funkciu, ktorá prijíma daný reťazec ako parameter.
- Vytvorte boolovskú premennú a nastavte ju na hodnotu true. Nech je premenná vlajka.
- Nájdite dĺžku daného reťazca. Nech je dĺžka n.
- Preveďte daný reťazec na malé písmená, aby sa pri porovnávaní znakov nerozlišovali malé a veľké písmená.
- Inicializujte premennú s nízkym indexom ako nízka a nastavte ju na 0.
- Inicializujte premennú s vysokým indexom ako vysoká a nastavte ju na n-1.
- Ak je nízka hodnota nižšia ako vysoká, postupujte takto:
- Porovnávajte znaky s nízkym a vysokým indexom.
- Ak sa znaky nezhodovali, nastavte príznak na hodnotu false a prerušte slučku.
- Zvýšte hodnotu nízkej o 1 a znížte hodnotu vysokej o 1.
- Ak je príznak na konci funkcie pravdivý, znamená to, že daný reťazec je palindróm.
- Ak je príznak na konci funkcie nepravdivý, znamená to, že daný reťazec nie je palindróm.
Program v C ++ na kontrolu, či je daný reťazec palindróm alebo nie
Ďalej je uvedená implementácia C ++ na určenie, či je daný reťazec palindróm alebo nie:
// Vrátane knižníc
#include
pomocou namespace std;
// Funkcia na kontrolu palindrómu reťazca
void checkPalindrome (string str)
{
// Označte, aby ste skontrolovali, či je daný reťazec palindróm
príznak bool = true;
// Nájdenie dĺžky reťazca
int n = str.length ();
// Konverzia reťazca na malé písmená
pre (int i = 0; i {
str [i] = tolower (str [i]);
}
// Inicializácia premennej s nízkym indexom
int low = 0;
// Inicializácia premennej s vysokým indexom
int high = n-1;
// Spúšťanie slučky, kým nie je vysoká väčšia ako nízka
while (high> low)
{
// Ak znaky nie sú rovnaké, nastavte príznak na hodnotu false
// a zlom zo slučky
if (str [vysoká]! = str [nízka])
{
flag = false;
prestávka;
}
// Zvýši premennú s nízkym indexom
low ++;
// Zmenší premennú s vysokým indexom
vysoká--;
}
// Skontrolujte, či je príznak pravdivý alebo nepravdivý
ak (vlajka)
{
cout << "Áno, daný reťazec je palindróm" << endl;
}
inak
{
cout << "Nie, daný reťazec nie je palindróm" << endl;
}
návrat;
}
int main ()
{
// Testovací prípad: 1
string str1 = "MUO";
checkPalindrome (str1);
// Testovací prípad: 2
string str2 = "madam";
checkPalindrome (str2);
// Testovací prípad: 3
string str3 = "ZAROBIŤ";
checkPalindrome (str3);
// Testovací prípad: 4
string str4 = "závodné auto";
checkPalindrome (str4);
// Testovací prípad: 5
string str5 = "mama";
checkPalindrome (str5);
návrat 0;
}
Výkon:
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Áno, daný reťazec je palindróm
Program v Pythone na kontrolu, či je daný reťazec palindróm alebo nie
Ďalej je uvedená implementácia Pythonu na určenie, či je daný reťazec palindróm alebo nie:
# Funkcia na kontrolu palindrómu reťazca
def checkPalindrome (str):
# Označte, aby ste skontrolovali, či je daný reťazec palindróm
vlajka = Pravda
# Nájdenie dĺžky reťazca
n = len (str)
# Konverzia reťazca na malé písmená
str = str.lower ()
# Inicializácia premennej s nízkym indexom
nízka = 0
# Inicializácia premennej s vysokým indexom
vysoká = n-1
# Spúšťajte slučku, kým nie je vysoká vyššia ako nízka
zatiaľ čo vysoká> nízka:
# Ak znaky nie sú rovnaké, nastavte príznak na hodnotu false
# a vymaniť sa zo slučky
ak str [vysoká]! = str [nízka]:
flag = False
prestávka
# Zvýši premennú s nízkym indexom
nízka = nízka + 1
# Znížiť premennú s vysokým indexom
vysoká = vysoká - 1
# Skontrolujte, či je príznak pravdivý alebo nepravdivý
ak vlajka:
print ("Áno, daný reťazec je palindróm")
inak:
print ("Nie, daný reťazec nie je palindróm")
# Testovací prípad: 1
str1 = "MUO"
checkPalindrome (str1)
# Testovací prípad: 2
str2 = "madam"
checkPalindrome (str2)
# Testovací prípad: 3
str3 = "ZOBRAZIŤ"
checkPalindrome (str3)
# Testovací prípad: 4
str4 = "závodné auto"
checkPalindrome (str4)
# Testovací prípad: 5
str5 = "mama"
checkPalindrome (str5)
Výkon:
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Áno, daný reťazec je palindróm
Program C na kontrolu, či je daný reťazec palindróm alebo nie
Ďalej je uvedená implementácia C na určenie, či je daný reťazec palindróm alebo nie:
// Vrátane knižníc
#include
#include
#include
#include
// Funkcia na kontrolu palindrómu reťazca
void checkPalindrome (char str [])
{
// Označte, aby ste skontrolovali, či je daný reťazec palindróm
príznak bool = true;
// Nájdenie dĺžky reťazca
int n = strlen (str);
// Konverzia reťazca na malé písmená
pre (int i = 0; i {
str [i] = tolower (str [i]);
}
// Inicializácia premennej s nízkym indexom
int low = 0;
// Inicializácia premennej s vysokým indexom
int high = n-1;
// Spúšťanie slučky, kým nie je vysoká väčšia ako nízka
while (high> low)
{
// Ak znaky nie sú rovnaké, nastavte príznak na hodnotu false
// a zlom zo slučky
if (str [vysoká]! = str [nízka])
{
flag = false;
prestávka;
}
// Zvýši premennú s nízkym indexom
low ++;
// Zmenší premennú s vysokým indexom
vysoká--;
}
// Skontrolujte, či je príznak pravdivý alebo nepravdivý
ak (vlajka)
{
printf ("Áno, daný reťazec je palindróm \ n");
}
inak
{
printf ("Nie, daný reťazec nie je palindróm \ n");
}
návrat;
}
int main ()
{
// Testovací prípad: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Testovací prípad: 2
char str2 [] = "madam";
checkPalindrome (str2);
// Testovací prípad: 3
char str3 [] = "VYZNAMENAŤ";
checkPalindrome (str3);
// Testovací prípad: 4
char str4 [] = "závodné auto";
checkPalindrome (str4);
// Testovací prípad: 5
char str5 [] = "mama";
checkPalindrome (str5);
návrat 0;
}
Výkon:
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Áno, daný reťazec je palindróm
Program JavaScript na kontrolu, či je daný reťazec palindróm alebo nie
Nižšie je uvedená implementácia JavaScriptu na určenie, či je daný reťazec palindróm alebo nie:
// Funkcia na kontrolu palindrómu reťazca
funkcia checkPalindrome (str) {
// Označte, aby ste skontrolovali, či je daný reťazec palindróm
var flag = true;
// Nájdenie dĺžky reťazca
var n = dĺžka str.
// Konverzia reťazca na malé písmená
str = str.toLowerCase ();
// Inicializácia premennej s nízkym indexom
var low = 0;
// Inicializácia premennej s vysokým indexom
var vysoká = n-1;
// Spúšťanie slučky, kým nie je vysoká väčšia ako nízka
while (high> low) {
// Ak znaky nie sú rovnaké, nastavte príznak na hodnotu false
// a zlom zo slučky
if (str [vysoký]! = str [nízky]) {
flag = false;
prestávka;
}
// Zvýši premennú s nízkym indexom
low ++;
// Zmenší premennú s vysokým indexom
vysoká--;
}
// Skontrolujte, či je príznak pravdivý alebo nepravdivý
if (flag) {
console.log ("Áno, daný reťazec je palindróm");
} else {
console.log ("Nie, daný reťazec nie je palindróm");
}
}
// Testovací prípad: 1
var str1 = "MUO";
checkPalindrome (str1);
// Testovací prípad: 2
var str2 = "madam";
checkPalindrome (str2);
// Testovací prípad: 3
var str3 = "ZOBRAZIŤ";
checkPalindrome (str3);
// Testovací prípad: 4
var str4 = "závodné auto";
checkPalindrome (str4);
// Testovací prípad: 5
var str5 = "mama";
checkPalindrome (str5);
Výkon:
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Nie, daný reťazec nie je palindróm
Áno, daný reťazec je palindróm
Áno, daný reťazec je palindróm
Naučte sa, ako sa vysporiadať s reťazcami v programovaní
Práca s reťazcami je neoddeliteľnou súčasťou programovania. Musíte vedieť, ako používať a manipulovať s reťazcami v ktoromkoľvek z programovacích jazykov, ako sú Python, JavaScript, C ++ atď.
Ak hľadáte jazyk, s ktorým začnete, Python je vynikajúcou voľbou.
Používanie a manipulácia s reťazcami v Pythone sa môže javiť ako zložité, ale je to klamne priame.
Prečítajte si Ďalej
- Programovanie
- Výukové programy pre kódovanie
Yuvraj je vysokoškolský študent v odbore počítačových vied na indickej univerzite v Dillí. Je vášnivý pre vývoj webových stránok na princípe Full Stack. Ak nepíše, skúma hĺbku rôznych technológií.
Prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!
Ešte jeden krok…!
V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.