Middle
Escribir una función que verifique si una cadena es un palíndromo. Un palíndromo es una secuencia de caracteres que se lee igual en ambos sentidos. Solo verificar los caracteres del alfabeto a-zA-Za-яА-Я, sin tener en cuenta mayúsculas o minúsculas. Entrada: "isPalindrome" Salida: false <p> Entrada: "А роза упала на лапу Азора" Salida: true <p> Entrada: "Is_s_d_+_ssi" Salida: true
sobes.tech AI
Respuesta de la IA
package main
import ( "fmt" "unicode" )
func isPalindrome(s string) bool { // Filtramos solo letras y las convertimos a minúsculas var filtered []rune for _, r := range s { if unicode.IsLetter(r) { filtered = append(filtered, unicode.ToLower(r)) } }
// Verificamos si es palíndromo
n := len(filtered)
for i := 0; i < n/2; i++ {
if filtered[i] != filtered[n-1-i] {
return false
}
}
return true
}
func main() { fmt.Println(isPalindrome("isPalindrome")) // false fmt.Println(isPalindrome("А роза упала на лапу Азора")) // true fmt.Println(isPalindrome("Is_s_d_+_ssi")) // true }