← JavaScript

Reto de código

invertir una cadena (dar la vuelta al texto).

Reto: invertir una cadena (dar la vuelta al texto).
Entrada: "hola"
Salida esperada: "aloh"
Ver solución
// Reto: invertir una cadena (dar la vuelta al texto).
// Entrada: "hola"
// Salida esperada: "aloh"

// Solución 1: usando métodos de arreglos.
// Convertimos la cadena en un arreglo de caracteres, lo invertimos y lo volvemos a unir.
function invertir(texto) {
  return texto.split("").reverse().join("");
}

// Solución 2: iterando la cadena de atrás hacia adelante.
// Útil para explicar la lógica "a mano" en una entrevista.
function invertirConBucle(texto) {
  let resultado = "";
  for (let i = texto.length - 1; i >= 0; i--) {
    resultado += texto[i]; // agrega cada caracter empezando desde el final
  }
  return resultado;
}

console.log(invertir("hola"));            // "aloh"
console.log(invertir("JavaScript"));      // "tpircSavaJ"
console.log(invertirConBucle("mundo"));   // "odnum"
console.log(invertirConBucle(""));        // "" (caso límite: cadena vacía)

// Explicación:
// split("") separa cada caracter en un arreglo, reverse() lo invierte,
// y join("") lo vuelve a unir en una cadena. La versión con bucle hace lo
// mismo manualmente, iterando desde el último índice.

module.exports = { invertir, invertirConBucle };