Menu
CoddyTech

Longest Palindromic Substring

Ti viene data una stringa s composta da lettere inglesi minuscole. Restituisci la sua sottostringa palindroma più lunga: la sequenza più lunga di lettere consecutive che si legge allo stesso modo da sinistra a destra e da destra a sinistra. Se più sottostringhe hanno la stessa lunghezza massima, restituisci quella che inizia più a sinistra.

Funzione

longestPalindrome(s: string) → string
sstring
la stringa minuscola da cercare
Restituiscestring
la sottostringa palindroma più lunga di s, quella più a sinistra in caso di parità

Vincoli

  • 1 ≤ s.length ≤ 2000
  • s contiene solo lettere inglesi minuscole.
  • Quando diversi palindromi hanno la lunghezza massima, la risposta è quello con l’indice iniziale più piccolo.

Esempi

Input
s = "bananas"
Output
"anana"
Spiegazione
"anana" si legge allo stesso modo da entrambe le estremità e ha 5 lettere. Nessuna sequenza più lunga funziona: "banana" inizia con b e finisce con a, "ananas" inizia con a e finisce con s, e la parola intera inizia con b e finisce con s.

lock icon+18 test nascosti all’invio

challenge icon

Per approfondire

Riesci a trovare la risposta in tempo O(n)?

Ripristina il codice
def longestPalindrome(s):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

s = "bananas"

Atteso

"anana"