GO: Validar Palíndromo

    Escribe una función que reciba una cadena no vacía y retorne si es o no un palíndromo::

package main

import "fmt"

import "strings"

func EsPalindromo(palabra string) bool { // Complejidad Tiempo O(n) | Espacio O(n)

  base := strings.ToLower(palabra)

  resultado := []byte{}

  for i := len(base) - 1; i >= 0; i-- {

    resultado = append(resultado, base[i])

  }

  return base == string(resultado) // Aquí está la comparación

}


func main() {

  fmt.Println(EsPalindromo("mex"))

  fmt.Println(EsPalindromo("Lol"))

}

1. La forma más sencilla de resolver este algoritmo bastante común en entrevistas de programación, es invirtiendo la cadena de entrada y comparándola consigo misma.

2. Aunque se puede resolver de distintas maneras, este es un acercamiento bastante funcional y popular.

3. Para este ejemplo particular, se retorna True o False dependiendo si la condición de igualdad se cumple.



0 remarks:

Publicar un comentario