Palindromskannare

Ett palindrom läses lika bra framåt och baklänges. “Madam” är enkelt att identifiera; “A man, a plan, a canal: Panama” kräver lite tid för att upptäcka, eftersom det beror på att man ignorerar punktering och mellanrum. Verktyget normaliserar allt du klistrar in – till småbokstäver, utan mellanrum och med borttagen punktering – och visar om resultatet är ett riktigt palindrom, samt visar den omvända strängen bredvid den.

Hur kontrollen utförs

  1. 1

    Kopiera text eller nummer

    Ett enda ord, ett uttryck, en lång mening eller en numerisk sträng.

  2. 2

    Normalisering tillämpad

    Texten görs till gemener, och allt som inte är en bokstav eller siffra (mellanslag, skiljetecken, symboler) tas bort. Varje Unicode-bokstav behålls som den är, så accenter räknas och icke-latinska skriftsystem fungerar.

  3. 3

    Jämför framåt mot bakåt

    Om den normaliserade strängen matchar sin omvända version är den ett palindrom.

  4. 4

    Granska resultatet

    Verktyget visar både de råa och normaliserade strängarna i omvänd ordning för verifiering.

Exempel på klassiska palindrom

Text Typ
madam Enkelt ord
level Enkelt ord
racecar Enkelt ord
A man, a plan, a canal: Panama Fras
Was it a car or a cat I saw? Fråga
Never odd or even Fras
12321 Nummer
Mr. Owl ate my metal worm Lång mening
naturrutan Svenskt ord

Kategorier av palindrom

  • Bokstavspalindromer. Standardinställningen innebär samma bokstäver i ordning från början till slut, utan att ta hänsyn till mellanrum.
  • Ordpalindromer. “I did, did I” – varje ord speglas som en helhet.
  • Semordnilaps. Ord som bildar ett annat ord när de vänds på bokstäverna: “stressed” → “desserts”.
  • Numeriska palindromer. En vilken som helst siffresekvens som läses likadant i båda riktningarna: 1991, 1881.
  • Genomiska palindromer. DNA-sekvenser där en viss region läses likadant på båda strängarna (relaterade till restriktionsenzym).

Att programmera kontrollen

Den centrala logiken i pseudokod:

function isPalindrome(s):
    normalized = lowercase(s)
    normalized = removeAll(normalized, /[^\p{L}\p{N}]/u)   // behåll bokstäver och siffror, valfritt skriftsystem
    return normalized == reverse(normalized)

Detta är en standardfråga för att varma upp inför en intervju. Variationer inkluderar specifika fall: ignorera Unicode-kombinationsmärken, hantera tomma strängar, stödja emojis och beakta grafemkluster.

Vanliga variationer av regeln

  • Strikt läge: räknar varje tecken inklusive mellanrum och skiljtecken. "aba" godkänts; "a man a plan" avslagits.
  • Endast alfanumeriskt: ta bort all annan information. De flesta vanliga palindromkontroller använder detta.
  • Unicode-normalisering: vissa kontroller slår ihop accenttecken (NFKD) före jämförelsen, så att “café” matchar “éfac”.

Verktyget använder metoden med enbart bokstäver och siffror: det gör om till gemener, behåller varje Unicode-bokstav och siffra (valfritt skriftsystem) och tar bort resten. Det slår inte ihop accenter, så en accentbokstav måste matcha exakt samma bokstav. Det finns ingen separat knapp för “strikt läge”.

Vanliga frågor

Ja. Varje enskilt tecken är ett palindrom – det är identiskt med sin omvända form. De flesta pedagogiska definitioner kräver minst tre tecken för att vara intressanta, men den matematiska definitionen accepterar en längd på 1 och till och med längd 0 (den tomma strängen).

Behandla dem som talsekvenser av siffror. 121, 12321 och 1991 är numeriska palindromer. För stora heltal kontrollera hur talen representeras i strängform; försök inte att vända talen om genom aritmetisk omvändning, eftersom detta kan leda till förlust av ledande nollor.

I engelsk är ett av de mest omfattande verkena “A Man, a Plan, a Canal: Panama” och dess många utvecklingar – Peter Norvigs datorgenererade palindromer uppgår till över 17 000 ord, även om inga är grammatiskt korrekta. Det längsta enkelordiga palindromet i engelska som nämns i Guinness World Records är “tattarrattat” (Ulysses av Joyce).

Ja, i varje språk. Det finska uttrycket “saippuakivikauppias” (säljare av tvålsten, 19 tecken) anges ofta som det längsta naturligt förekommande enkelordiga palindromet i något språk.

Relaterade verktyg

Verktyget finns på andra språk