Algoritmo palíndromo

Publicado el 04.06.2021 a las 13:22

Algoritmo palíndromo

Algoritmo palíndromo

Un palíndromo es una palabra o frase que se lee igual si le das la vuelta, por ejemplo amor a Roma

Este algoritmo es muy típico en entrevistas. A priori, se me ocurren dos formas de hacerlas, y no sé cuál tendrá más rendimiento.

Usando un bucle

Lo que haré será comparar una a una cada letra y si encuentro una que no coincida pues no sería un palíndromo.

bucle

Usando métodos propios de JS

  1. Permuto el string asignado como argumento, para ello:
    1. Convierto el string pasado como argumento a un array
    2. Permuto el array usando el método reverse
    3. Uno el array para tener un string
  2. Comparo el string pasado como argumento con el string permutado y si son iguales devuelvo true
js

De esta segunda forma como se utilizan métodos del core de JavaScript no sé qué rendimiento tendrá frente al método usando el bucle.

Comparando las dos formas

Como sospechaba, si usas métodos del core del lenguaje el rendimiento es mucho mayor a si haces tú el algoritmo.

He probado incluso haciendo que falle en la segunda letra, para ver si el método del bucle tomaba ventaja cuando fallaba al principio pero ni por esa, en todos los casos tiene un mayor rendimiento el segundo método.

compare

Hasta luego 🖖

fjmduran.com v 17.0.1