Is uw snaar een palindroom? Of u nu Python, C ++ of JavaScript gebruikt, gebruik een van deze algoritmen om erachter te komen.
Van een string wordt gezegd dat het een palindroom is als de originele string en het omgekeerde hetzelfde zijn. In dit artikel leer je over het algoritme om te bepalen of de gegeven string een palindroom is of niet. U leert ook hoe u dit algoritme implementeert in de meest populaire programmeertalen zoals C ++, Python, C en JavaScript.
Voorbeelden van Palindrome String
Hieronder staan enkele voorbeelden van palindroom- en niet-palindroom-strings:
Algoritme om te bepalen of een gegeven string al dan niet een palindroom is
Algoritmen zijn gewoon een reeks instructies die stap voor stap worden gevolgd om iets nuttigs te doen of een probleem op te lossen. U kunt het probleem met het palindroom van de string oplossen met behulp van het onderstaande algoritme:
- Declareer een functie die de opgegeven string als parameter accepteert.
- Maak een booleaanse variabele en stel deze in op true. Laat de variabele zijn vlag.
- Zoek de lengte van de opgegeven string. Laat de lengte zijn n.
- Converteer de gegeven tekenreeks naar kleine letters om de vergelijking tussen de tekens hoofdletterongevoelig te maken.
- Initialiseer de lage-indexvariabele als laag en zet het op 0.
- Initialiseer de hoge indexvariabele als hoog en zet het op n-1.
- Doe het volgende terwijl laag minder dan hoog is:
- Vergelijk karakters met een lage index en een hoge index.
- Als de tekens niet overeenkomen, stelt u de vlag in op false en verbreekt u de lus.
- Verhoog de waarde van low met 1 en verlaag de waarde van high met 1.
- Als de vlag waar is aan het einde van de functie, betekent dit dat de gegeven string een palindroom is.
- Als de vlag aan het einde van de functie onwaar is, betekent dit dat de gegeven string geen palindroom is.
C ++ programma om te controleren of een gegeven string een palindroom is of niet
Hieronder staat de C ++ -implementatie om te bepalen of de gegeven string een palindroom is of niet:
// Inclusief bibliotheken
#inclusief
namespace std; gebruiken;
// Functie om string palindroom te controleren
ongeldig checkPalindrome (string str)
{
// Vlag om te controleren of de gegeven string een palindroom is
bool flag = true;
// De lengte van de string vinden
int n = str.length ();
// Converteren van de tekenreeks naar kleine letters
voor (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initialiseren van variabele met lage index
int laag = 0;
// Initialiseren van variabele met hoge index
int hoog = n-1;
// De lus uitvoeren totdat hoog groter is dan laag
while (hoog> laag)
{
// Als de tekens niet hetzelfde zijn, stelt u de vlag in op false
// en breek uit de lus
if (str [hoog]! = str [laag])
{
vlag = false;
breken;
}
// Verhoog de lage indexvariabele
laag ++;
// Verlaag de hoge indexvariabele
hoog--;
}
// Controleer of de vlag waar of onwaar is
if (vlag)
{
cout << "Ja, de gegeven string is een palindroom" << endl;
}
anders
{
cout << "Nee, de gegeven string is geen palindroom" << endl;
}
terugkeren;
}
int belangrijkste ()
{
// Testgeval: 1
string str1 = "MUO";
checkPalindrome (str1);
// Testgeval: 2
string str2 = "mevrouw";
checkPalindrome (str2);
// Testgeval: 3
string str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Testgeval: 4
string str4 = "raceauto";
checkPalindrome (str4);
// Testgeval: 5
string str5 = "moeder";
checkPalindrome (str5);
retourneer 0;
}
Uitgang:
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Ja, de gegeven string is een palindroom
Python-programma om te controleren of een bepaalde string een palindroom is of niet
Hieronder staat de Python-implementatie om te bepalen of de gegeven string een palindroom is of niet:
# Functie om string-palindroom te controleren
def checkPalindrome (str):
# Vlag om te controleren of de gegeven string een palindroom is
flag = Waar
# De lengte van de string vinden
n = len (str)
# De tekenreeks naar kleine letters converteren
str = str.lower ()
# Initialiseren van variabele met lage index
laag = 0
# Initialiseren hoge index variabele
hoog = n-1
# De lus uitvoeren totdat hoog groter is dan laag
terwijl hoog> laag:
# Als de tekens niet hetzelfde zijn, stelt u de vlag in op false
# en breek uit de lus
if str [hoog]! = str [laag]:
flag = False
breken
# Verhoog de lage indexvariabele
laag = laag + 1
# Verlaag de hoge indexvariabele
hoog = hoog - 1
# Controleer of de vlag waar of niet waar is
als vlag:
print ("Ja, de opgegeven string is een palindroom")
anders:
print ("Nee, de opgegeven string is geen palindroom")
# Testgeval: 1
str1 = "MUO"
checkPalindrome (str1)
# Testgeval: 2
str2 = "mevrouw"
checkPalindrome (str2)
# Testgeval: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Testgeval: 4
str4 = "raceauto"
checkPalindrome (str4)
# Testgeval: 5
str5 = "moeder"
checkPalindrome (str5)
Uitgang:
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Ja, de gegeven string is een palindroom
C Programma om te controleren of een gegeven string een palindroom is of niet
Hieronder staat de C-implementatie om te bepalen of de gegeven string een palindroom is of niet:
// Inclusief bibliotheken
#inclusief
#inclusief
#inclusief
#inclusief
// Functie om string palindroom te controleren
ongeldig checkPalindrome (char str [])
{
// Vlag om te controleren of de gegeven string een palindroom is
bool flag = true;
// De lengte van de string vinden
int n = strlen (str);
// Converteren van de tekenreeks naar kleine letters
voor (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initialiseren van variabele met lage index
int laag = 0;
// Initialiseren van variabele met hoge index
int hoog = n-1;
// De lus uitvoeren totdat hoog groter is dan laag
while (hoog> laag)
{
// Als de tekens niet hetzelfde zijn, stelt u de vlag in op false
// en breek uit de lus
if (str [hoog]! = str [laag])
{
vlag = false;
breken;
}
// Verhoog de lage indexvariabele
laag ++;
// Verlaag de hoge indexvariabele
hoog--;
}
// Controleer of de vlag waar of onwaar is
if (vlag)
{
printf ("Ja, de opgegeven string is een palindroom \ n");
}
anders
{
printf ("Nee, de opgegeven string is geen palindroom \ n");
}
terugkeren;
}
int belangrijkste ()
{
// Testgeval: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Testgeval: 2
char str2 [] = "mevrouw";
checkPalindrome (str2);
// Testgeval: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Testgeval: 4
char str4 [] = "raceauto";
checkPalindrome (str4);
// Testgeval: 5
char str5 [] = "moeder";
checkPalindrome (str5);
retourneer 0;
}
Uitgang:
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Ja, de gegeven string is een palindroom
JavaScript-programma om te controleren of een bepaalde string een palindroom is of niet
Hieronder staat de JavaScript-implementatie om te bepalen of de gegeven string een palindroom is of niet:
// Functie om string palindroom te controleren
functie checkPalindrome (str) {
// Vlag om te controleren of de gegeven string een palindroom is
var flag = true;
// De lengte van de string vinden
var n = str.lengte;
// Converteren van de tekenreeks naar kleine letters
str = str.toLowerCase ();
// Initialiseren van variabele met lage index
var laag = 0;
// Initialiseren van variabele met hoge index
var high = n-1;
// De lus uitvoeren totdat hoog groter is dan laag
while (hoog> laag) {
// Als de tekens niet hetzelfde zijn, stelt u de vlag in op false
// en breek uit de lus
if (str [hoog]! = str [laag]) {
vlag = false;
breken;
}
// Verhoog de lage indexvariabele
laag ++;
// Verlaag de hoge indexvariabele
hoog--;
}
// Controleer of de vlag waar of onwaar is
if (vlag) {
console.log ("Ja, de opgegeven string is een palindroom");
} anders {
console.log ("Nee, de opgegeven string is geen palindroom");
}
}
// Testgeval: 1
var str1 = "MUO";
checkPalindrome (str1);
// Testgeval: 2
var str2 = "mevrouw";
checkPalindrome (str2);
// Testgeval: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Testgeval: 4
var str4 = "raceauto";
checkPalindrome (str4);
// Testgeval: 5
var str5 = "moeder";
checkPalindrome (str5);
Uitgang:
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Nee, de opgegeven string is geen palindroom
Ja, de gegeven string is een palindroom
Ja, de gegeven string is een palindroom
Leer om te gaan met tekenreeksen tijdens het programmeren
Werken met strings is een integraal onderdeel van programmeren. U moet weten hoe u strings moet gebruiken en manipuleren in een van de programmeertalen zoals Python, JavaScript, C ++, enz.
Als je op zoek bent naar een taal om mee te beginnen, is Python een uitstekende keuze.
Het gebruik en manipuleren van tekenreeksen in Python kan moeilijk lijken, maar het is bedrieglijk eenvoudig.
Lees Volgende
- Programmeren
- Zelfstudies over codering
Yuvraj is een student informatica aan de Universiteit van Delhi, India. Hij is gepassioneerd door Full Stack Web Development. Als hij niet aan het schrijven is, onderzoekt hij de diepte van verschillende technologieën.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.