Autors Yuvraj Chandra
E-pasts

Vai jūsu stīga ir palindroms? Neatkarīgi no tā, vai izmantojat Python, C ++ vai JavaScript, lai uzzinātu, izmantojiet kādu no šiem algoritmiem.

Stīgu uzskata par palindromu, ja sākotnējā virkne un tās reverss ir vienādi. Šajā rakstā jūs uzzināsit par algoritmu, lai noteiktu, vai norādītā virkne ir palindroms vai nav. Jūs arī uzzināsiet, kā ieviest šo algoritmu populārākajās programmēšanas valodās, piemēram, C ++, Python, C un JavaScript.

Palindroma stīgu piemēri

Zemāk ir daži palindromu un nepalindromu stīgu piemēri:

Algoritms, lai noteiktu, vai dotā virkne ir vai nav palindroms

Algoritmi ir vienkārši virkne instrukciju, kuras soli pa solim tiek ievērotas, lai izdarītu kaut ko noderīgu vai atrisinātu problēmu. Virknes palindroma problēmu var atrisināt, izmantojot šo algoritmu:

  1. Pasludiniet funkciju, kas pieņem norādīto virkni kā parametru.
  2. Izveidojiet būla lielumu un iestatiet to uz true. Ļaujiet mainīgajam būt karogu.
  3. instagram viewer
  4. Atrodiet dotās virknes garumu. Ļaujiet garumam būt n.
  5. Konvertējiet norādīto virkni uz mazajiem burtiem, lai rakstzīmju salīdzinājums būtu nejutīgs.
  6. Inicializējiet zema indeksa mainīgo kā zems un iestatiet to uz 0.
  7. Inicializējiet augsta indeksa mainīgo kā augsts un iestatiet to uz n-1.
  8. Veiciet šādas darbības, kamēr zems ir mazāks par augstu:
    • Salīdziniet rakstzīmes ar zemu indeksu un augstu indeksu.
    • Ja rakstzīmes nesakrita, iestatiet karodziņu uz false un pārtrauciet cilpu.
    • Palieliniet zemā vērtību par 1 un samaziniet vērtības augstumu par 1.
  9. Ja funkcijas beigās karodziņš ir patiess, tas nozīmē, ka dotā virkne ir palindroms.
  10. Ja funkcijas beigās karodziņš ir kļūdains, tas nozīmē, ka dotā virkne nav palindroms.

C ++ programma, lai pārbaudītu, vai konkrētā virkne ir vai nav Palindroms

Zemāk ir C ++ ieviešana, lai noteiktu, vai norādītā virkne ir vai nav palindroms:

// Ieskaitot bibliotēkas
# iekļaut
izmantojot nosaukumvietu std;
// Funkcija, lai pārbaudītu virknes palindromu
void checkPalindrome (virknes str)
{
// Karodziņš, lai pārbaudītu, vai norādītā virkne ir palindroma
bool flag = true;
// Virknes garuma atrašana
int n = str. garums ();
// Virknes pārveidošana par mazajiem burtiem
par (int i = 0; i {
str [i] = pieliekamais (str [i]);
}
// Inicializē zema indeksa mainīgo
int zems = 0;
// Inicializē augsta indeksa mainīgo
int augsts = n-1;
// Cilpas palaišana līdz augstam ir lielāka nekā zema
kamēr (augsts> zems)
{
// Ja rakstzīmes nav vienādas, iestatiet karodziņu uz false
// un izlauzties no cilpas
ja (str [augsts]! = str [zems])
{
karogs = nepatiesa;
pārtraukums;
}
// Palieliniet zemā indeksa mainīgo
zems ++;
// Samazināt augsta indeksa mainīgo
augsts--;
}
// Pārbaudiet, vai karodziņš ir patiess vai nepatiess
ja (karogs)
{
cout << "Jā, dotā virkne ir palindroma" << endl;
}
cits
{
cout << "Nē, dotā virkne nav palindroms" << endl;
}
atgriešanās;
}
int main ()
{
Testa gadījums: 1
virkne str1 = "MUO";
pārbaudītPalindroms (str1);
Testa gadījums: 2
virkne str2 = "kundze";
checkPalindrome (str2);
Testa gadījums: 3
virkne str3 = "MAKEUSEOF";
checkPalindrome (str3);
Pārbaudes gadījums: 4
virkne str4 = "sacīkšu automašīna";
pārbaudītPalindroms (str4);
Pārbaudes gadījums: 5
string str5 = "mamma";
checkPalindrome (str5);
atgriešanās 0;
}

Izeja:

Nē, dotā virkne nav palindroms 
Jā, dotā virkne ir palindroms
Nē, dotā virkne nav palindroms
Jā, dotā virkne ir palindroms
Jā, dotā virkne ir palindroms

Python programma, lai pārbaudītu, vai dotā virkne ir vai nav Palindrome

Tālāk ir parādīta Python ieviešana, lai noteiktu, vai norādītā virkne ir vai nav palindroms:

# Funkcija, lai pārbaudītu virknes palindromu
def pārbaude Palindroms (str):
# Karodziņš, lai pārbaudītu, vai dotā virkne ir palindroma
karogs = patiess
# Virknes garuma atrašana
n = len (str)
# Virknes pārveidošana par mazajiem burtiem
str = str. zemāks ()
# Inicializē zema indeksa mainīgo
zems = 0
# Augsta indeksa mainīgā inicializēšana
augsts = n-1
# Cilpas vadīšana līdz augstai ir lielāka nekā zema
kamēr augsts> zems:
# Ja rakstzīmes nav vienādas, iestatiet karodziņu uz false
# un pārtraukums no cilpas
ja str [augsts]! = str [zems]:
karogs = nepatiesa
pārtraukums
# Palieliniet zemā indeksa mainīgo
zems = zems + 1
# Samazināt augsta indeksa mainīgo
augsts = augsts - 1
# Pārbaudiet, vai karogs ir patiess vai nepatiess
ja karogs:
drukāt ("Jā, dotā virkne ir palindroms")
cits:
drukāt ("Nē, dotā virkne nav palindroms")
# Pārbaudes gadījums: 1
str1 = "MUO"
checkPalindrome (str1)
# Pārbaudes gadījums: 2
str2 = "kundze"
checkPalindrome (str2)
# Pārbaudes gadījums: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Pārbaudes gadījums: 4
str4 = "sacīkšu automobilis"
checkPalindrome (str4)
# Pārbaudes gadījums: 5
str5 = "mamma"
checkPalindrome (str5)

Izeja:

Nē, dotā virkne nav palindroms
Jā, dotā virkne ir palindroms
Nē, dotā virkne nav palindroms
Jā, dotā virkne ir palindroms
Jā, dotā virkne ir palindroms

C programma, lai pārbaudītu, vai dotā stīga ir vai nav palindroms

Zemāk ir C ieviešana, lai noteiktu, vai norādītā virkne ir vai nav palindroms:

// Ieskaitot bibliotēkas
# iekļaut
# iekļaut
# iekļaut
# iekļaut
// Funkcija, lai pārbaudītu virknes palindromu
void checkPalindrome (char str [])
{
// Karodziņš, lai pārbaudītu, vai norādītā virkne ir palindroma
bool flag = true;
// Virknes garuma atrašana
int n = strlen (str);
// Virknes pārveidošana par mazajiem burtiem
par (int i = 0; i {
str [i] = pieliekamais (str [i]);
}
// Inicializē zema indeksa mainīgo
int zems = 0;
// Inicializē augsta indeksa mainīgo
int augsts = n-1;
// Cilpas palaišana līdz augstam ir lielāka nekā zema
kamēr (augsts> zems)
{
// Ja rakstzīmes nav vienādas, iestatiet karodziņu uz false
// un izlauzties no cilpas
ja (str [augsts]! = str [zems])
{
karogs = nepatiesa;
pārtraukums;
}
// Palieliniet zemā indeksa mainīgo
zems ++;
// Samazināt augsta indeksa mainīgo
augsts--;
}
// Pārbaudiet, vai karodziņš ir patiess vai nepatiess
ja (karogs)
{
printf ("Jā, dotā virkne ir palindroms \ ⁠n");
}
cits
{
printf ("Nē, dotā virkne nav palindroms \ ⁠n");
}
atgriešanās;
}
int main ()
{
Testa gadījums: 1
char str1 [] = "MUO";
pārbaudītPalindroms (str1);
Testa gadījums: 2
char str2 [] = "kundze";
checkPalindrome (str2);
Testa gadījums: 3
char str3 [] = "SASTĀVS";
checkPalindrome (str3);
Pārbaudes gadījums: 4
char str4 [] = "sacīkšu automobilis";
pārbaudītPalindroms (str4);
Pārbaudes gadījums: 5
char str5 [] = "mamma";
checkPalindrome (str5);
atgriešanās 0;
}

Izeja:

Nē, dotā virkne nav palindroms 
Jā, dotā virkne ir palindroms
Nē, dotā virkne nav palindroms
Jā, dotā virkne ir palindroms
Jā, dotā virkne ir palindroms

JavaScript programma, lai pārbaudītu, vai dotā virkne ir vai nav Palindrome

Zemāk ir JavaScript ieviešana, lai noteiktu, vai norādītā virkne ir vai nav palindroma:

// Funkcija, lai pārbaudītu virknes palindromu
funkciju pārbaudePalindrome (str) {
// Karodziņš, lai pārbaudītu, vai norādītā virkne ir palindroma
var flag = true;
// Virknes garuma atrašana
var n = str. garums;
// Virknes pārveidošana par mazajiem burtiem
str = str.toLowerCase ();
// Inicializē zema indeksa mainīgo
var zems = 0;
// Inicializē augsta indeksa mainīgo
var augsts = n-1;
// Cilpas palaišana līdz augstam ir lielāka nekā zema
kamēr (augsts> zems) {
// Ja rakstzīmes nav vienādas, iestatiet karodziņu uz false
// un izlauzties no cilpas
ja (str [augsts]! = str [zems]) {
karogs = nepatiesa;
pārtraukums;
}
// Palieliniet zemā indeksa mainīgo
zems ++;
// Samazināt augsta indeksa mainīgo
augsts--;
}
// Pārbaudiet, vai karodziņš ir patiess vai nepatiess
ja (karogs) {
console.log ("Jā, dotā virkne ir palindroms");
} cits
console.log ("Nē, dotā virkne nav palindroms");
}
}
Testa gadījums: 1
var str1 = "MUO";
pārbaudītPalindroms (str1);
Testa gadījums: 2
var str2 = "kundze";
checkPalindrome (str2);
Testa gadījums: 3
var str3 = "SASTĀVS";
checkPalindrome (str3);
Pārbaudes gadījums: 4
var str4 = "sacīkšu automobilis";
pārbaudītPalindroms (str4);
Pārbaudes gadījums: 5
var str5 = "mamma";
checkPalindrome (str5);

Izeja:

Nē, dotā virkne nav palindroms
Jā, dotā virkne ir palindroms
Nē, dotā virkne nav palindroms
Jā, dotā virkne ir palindroms
Jā, dotā virkne ir palindroms

Uzziniet, kā rīkoties ar virknēm programmēšanā

Darbs ar virknēm ir neatņemama programmēšanas sastāvdaļa. Jums jāzina, kā izmantot un manipulēt ar virknēm jebkurā programmēšanas valodā, piemēram, Python, JavaScript, C ++ utt.

Ja meklējat valodu, ar kuru sākt, Python ir lieliska izvēle.

E-pasts
Vai mācāties Python? Lūk, kā manipulēt ar virknēm

Virkņu izmantošana un manipulēšana Python var šķist sarežģīta, taču tas ir mānīgi vienkārši.

Lasiet Tālāk

Saistītās tēmas
  • Programmēšana
  • Kodēšanas konsultācijas
Par autoru
Yuvraj Chandra (Publicēti 13 raksti)

Yuvraj ir datorzinātņu bakalaura students Deli universitātē, Indijā. Viņš aizrauj pilnas skursteņa tīmekļa izstrādi. Kad viņš neraksta, viņš pēta dažādu tehnoloģiju dziļumu.

Vairāk no Yuvraj Chandra

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.