Nel corso degli anni, verificare se una stringa è un palindromo o meno è diventata una classica domanda di intervista con i codici. Questo perché implica concetti relativi alla manipolazione e al confronto delle stringhe e persino loop a seconda dell'implementazione. E la domanda non è lunga, quindi può essere completata entro i limiti di tempo di un'intervista. Questo articolo include l'implementazione per verificare se una stringa è palindromo in java e python.
Che cos'è un palindromo?
Secondo il sinonimo.com, la definizione di palindromo è "una parola o frase che legge lo stesso indietro o in avanti." Fondamentalmente, significa che se scrivi la parola o la frase al contrario, sarà esattamente la stessa di quando era in avanti. Ad esempio, papà e mamma sono palindromi e padre e madre no. La parola "palindromo" deriva da due parole della radice greca, "palin" che significa ancora e "dromos" che significa strada o direzione. Fu coniato dal drammaturgo inglese Ben Jonson nel 17 ° secolo.
Soluzione
Il modo più comune e semplice per risolvere la domanda è invertendo prima la stringa e poi confrontandola con la stringa originale. Questo approccio sarà O (n) in notazione big-O perché l'inversione di stringa è O (n).
Un altro modo sarebbe quello di iniziare a confrontare i caratteri dall'inizio e della fine e continuare fino a quando raggiungere il centro. Questo approccio ha una complessità temporale di O (n /2) ma nella notazione big-O sarà comunque O (n). Ma il vantaggio di questo approccio è che puoi restituire False non appena incontri la prima mancata corrispondenza, mentre con il primo approccio, poiché invertire una stringa è il primo passo, la complessità temporale sarà sempre O (n).
Palindrome nell'implementazione Python
Di seguito è riportato il codice per verificare se una stringa è palindrome in Python.
Palindrome nell'implementazione Java
Di seguito è riportato il codice per verificare se una stringa è palindromo in Java.
Suggerimento
Conferma con l'intervistatore se desidera che il codice sia sensibile al maiuscolo /minuscolo. Ad esempio: se il codice fa distinzione tra maiuscole e minuscole, allora Papà non è un palindromo perché il primo carattere è in maiuscolo "D" e l'ultimo carattere in minuscolo "d".
Computer © www.354353.com