Palindroomcontrole

Een palindroom leest zich net zo goed voorwaarts als achterwaarts. ‘Madam’ is eenvoudig te herkennen; ‘A man, a plan, a canal: Panama’ vereist even tijd om te herkennen, omdat dit afhangt van het negeren van interpunctie en ruimtes. Dit hulpmiddel normaliseert alles wat u plakt, door tekens in kleine letteren te schrijven, ruimtes en interpunctie te verwijderen, en bevestigt of het resultaat een echte palindroom is, terwijl het de omgekeerde string naast elkaar toont.

Hoe de controle verloopt

  1. 1

    Text of nummer plakken

    Een enkel woord, een uitdrukking, een lange zin of een numerieke reeks.

  2. 2

    Normalisatie is toegepast

    De tekst wordt omgezet naar kleine letters en alles wat geen letter of cijfer is (spaties, interpunctie, symbolen) wordt verwijderd. Elke Unicode-letter blijft behouden, dus accenten tellen mee en niet-Latijnse schriften werken ook.

  3. 3

    Vergelijk voorwaartse versus omgekeerde beweging

    Als de genormaliseerde string overeenkomt met haar omgekeerde versie, is het een palindroom.

  4. 4

    Controleer het resultaat

    Het hulpmiddel toont zowel de raw-string als de genormaliseerde string, omgekeerd, ter verificatie.

Voorbeelden van klassieke palindromen

Tekst Type
madam Enkelwoord
level Enkelwoord
racecar Enkelwoord
A man, a plan, a canal: Panama frase
Was it a car or a cat I saw? Vraag
Never odd or even frase
12321 Nummer
Mr. Owl ate my metal worm Langere zin
lepel Nederlands woord

categorieën van palindromen

  • Karakterpalindromen: De standaardinstelling zijn dezelfde letters voorwaarts en achterwaarts, zonder spaties mee te tellen.
  • Woordpalindromen: “I did, did I” – elk woord is als een geheel gespiegeld.
  • Semordnilaps: woorden die een ander woord vormen wanneer ze worden omgekeerd: “stressed” → “desserts”.
  • Numerieke palindromen: elke cijferreeks die in beide richtingen hetzelfde leest, bijvoorbeeld 1991 of 1881.
  • Genomische palindromen: DNA-sequenties waarin een bepaald gebied op beide strengen identiek gelezen wordt (van belang voor restrictie-enzymen).

programmeren van de controle

De kernlogica in pseudocode:

function isPalindrome(s):
    normalized = lowercase(s)
    normalized = removeAll(normalized, /[^\p{L}\p{N}]/u)   // behoud letters en cijfers, elk schrift
    return normalized == reverse(normalized)

Dit is een standaard opwarmvraag voor een interview. Variaties introduceren specifieke gevallen: negeren van Unicode-combinatiekenmerken, omgaan met lege strings, ondersteuning voor emoji’s en naleving van grafeemclusters.

Veelvoorkomende varianten van de regel

  • Strikte modus: tel elk teken, inclusief spaties en interpunctie. "aba" slaagt; "a man a plan" mislukt.
  • Alleen alfanumeriek: verwijder alle overige elementen. De meeste informele palindroomcontroles gebruiken deze methode.
  • Unicode-normalisatie: sommige controles voegen geaccentueerde vormen (NFKD) samen vóór het vergelijken, zodat “café” overeenkomt met “éfac”.

Dit hulpmiddel gebruikt de aanpak met alleen letters en cijfers: het zet om naar kleine letters, behoudt elke Unicode-letter en elk cijfer (elk schrift) en verwijdert de rest. Het voegt accenten niet samen, dus een letter met accent moet met dezelfde letter met accent overeenkomen. Er is geen aparte knop voor een “strikte modus”.

Veelgestelde vragen

Ja. Elke enkele karakter is automatisch een palindroom, het is gelijk aan zijn omgekeerde vorm. De meeste pedagogische definities vereisen minstens drie karakters om interessant te zijn, maar de wiskundige definitie accepteert al een lengte van één en zelfs een lengte van nul (de lege string).

Behandel ze als reeksen cijfers. 121, 12321 en 1991 zijn numerieke palindromen. Voor grote gehele getallen controleer de stringrepresentatie; probeer het getal niet aritmetisch om te keren, omdat hierbij de eerste nulletjes verloren gaan.

In het Engels is een van de meest opvallende composities ‘A Man, a Plan, a Canal: Panama’ en zijn vele uitbreidingen; de door Peter Norvig gegenereerde palindromen bestaan uit meer dan 17 000 woorden, hoewel geen enkel daarvan grammatisch correct is. Het langste enkelewoordelijke palindroom dat in de Guinness Book of World Records is vermeld, is ‘tattarrattat’ (uit Ulysses van Joyce).

Ja, in elke taal. Het Finse woord ‘saippuakivikauppias’ (verkoper van zepsteen, 19 letters) wordt vaak genoemd als het langste natuurlijk voorkomende enkelwoordenpalindroom van welke taal dan ook.

Gerelateerde tools

Tool beschikbaar in andere talen