Ejercicio de strings #3 Java | Python | PHP | C++ | JavaScript
En este blog, te enseñaré cómo resolver el ejercicio Reverse Words in a String de la plataforma LeetCode en Java, Python, PHP, C++ y JavaScript.
En este artículo, vamos a ver lo siguiente:
✅ Una explicación del problema
✅ Una solución eficiente
✅ Implementaciones en Java, Python, PHP, C++ y JavaScript
Dado un string s, devuelve una cadena con las palabras de s en orden inverso, concatenadas por un solo espacio.
¡Aprende a invertir las palabras de un string en tus lenguajes de programación favoritos! En este tutorial, te guiaremos paso a paso a través de soluciones en C++, Python, Java, JavaScript y PHP. ¡Perfecto para principiantes y programadores intermedios!
Pasos para realizar el ejercicio:
1.-Se divide el string dado en un listado de palabras, utilizando el espacio en blanco como separador. Este listado se guarda en el array palabras.
El resultado es un array con cuatro elementos, que son las palabras "El", "cielo", "es" y "azul".
2.- Se inicializa la variable resultado a un string vacío. Este string se utilizará para almacenar la frase de texto invertida.
3.- Se recorre la lista de palabras, de atrás hacia adelante.
Para cada palabra, se comprueba si está vacía. Si lo está, se ignora. Si no lo está, se añade a la cadena de texto invertida, con un espacio en blanco al final.
4.-La cadena de texto invertida se devuelve después de utilizar el método trim(). Este método elimina los espacios en blanco adicionales al principio y al final de la cadena de texto.
Mejora tus habilidades en manipulación de cadenas con este ejercicio práctico. Aprenderás a invertir el orden de las palabras en un string utilizando diferentes técnicas y lenguajes de programación. Ideal para entrevistas técnicas y proyectos personales.
Código en Java
class Solution {publicString reverseWords(String s){// Paso #1String[] palabras = s.split(" ");// Paso #2String resultado ="";// Paso #3for(int i = palabras.length-1; i >=0; i--){if(palabras[i].isEmpty())continue;
resultado = resultado.concat(palabras[i]).concat(" ");}// Paso #4return resultado.trim();}}
Código en C++
#include<string>#include<vector>classSolution {
public:
std::string reverseWords(std::string s){
// Paso #1: Dividir la cadena en palabras (usando un vector en C++)
vector<string> palabras;
string palabra;
for (char c : s) {
if (c == ' ') {
if (!palabra.empty()) {
palabras.push_back(palabra);
palabra.clear();
}
} else {
palabra += c;
}
}
if (!palabra.empty()) {
palabras.push_back(palabra);
}
// Paso #2: Inicializar la cadena de resultado
string resultado;
// Paso #3: Concatenar las palabras en orden inversofor (int i = palabras.size() - 1; i >= 0; i--) {
resultado += palabras[i] + " ";
}
// Paso #4: Eliminar espacios en blanco adicionales al finalreturn resultado.substr(0, resultado.size() - 1);
}
};
/**
* @param {string} s
* @return {string}
*/var reverseWords =function(s){// Paso #1const palabras = s.split(" ");// Paso #2
let resultado ="";// Paso #3for(let i = palabras.length-1; i >=0; i--){if(palabras[i]===""){continue;}
resultado += palabras[i]+" ";}// Paso #4return resultado.trim();};
Conclusión
En este blog, hemos visto cómo realizar el ejercicio Reverse Words in a String en Java, Python, PHP, C++ y JavaScript.
Hemos visto ejemplos de código en cada lenguaje de programación.