Hay varios métodos para revertir una cadena en Java
Pseudo código para la cadena inversa:
1. Convierta la cadena de entrada en una matriz de caracteres utilizando el método incorporado de la Clase de cadena toCharArray ().
2. En este método, escanearemos la matriz de caracteres desde ambos lados, es decir, desde el índice de inicio (izquierda) así como desde el último índice (derecha) simultáneamente.
3. Establezca el índice izquierdo igual a 0 y el índice derecho igual a la longitud de la cadena -1.
4. Intercambie los caracteres de la exploración de índice de inicio con la última exploración de índice una por una. Después de eso, aumente el índice de la izquierda en 1 (izquierda ++) y disminuya la de la derecha en 1, es decir (derecha) para pasar a los siguientes caracteres en el matriz de caracteres.
5. Continuar hasta que la izquierda sea menor o igual a la derecha.
import java.io. *;
import java.util. *;
- Cómo duplicar 30kUSD en un año
- Cómo lidiar con el error H202 en Quickbooks Enterprise
- Cómo hacer mi mejor esfuerzo en los exámenes de la junta
- ¿Cuáles son algunos consejos para comprar muebles?
- ¿Tienes algún consejo para hacer uso de alta inteligencia?
reversa de clase pública {
public static void main (String [] args) {
Entrada de cadena = “Estar en el presente”;
char [] temparray = input.toCharArray ();
int izquierda, derecha = 0;
derecha = temparray.length-1;
para (izquierda = 0; izquierda <derecha; izquierda ++, derecha–)
{
// Swap valores de izquierda y derecha
temp temp = temparray [izquierda];
temparray [izquierda] = temparray [derecha];
temparray [derecha] = temp;
}
para (char c: temparray)
System.out.print (c);
System.out.println ();
}}
Fuente: 5 formas de invertir una cadena en Java con el ejemplo
Edición 1: Con el fin de invertir la palabra en una cadena
Primero dividimos la cadena en la matriz de palabras, y luego iteramos a través de la matriz y agregamos cada elemento a una cadena nueva. Nota: StringBuilder se debe utilizar para evitar crear demasiadas cadenas. Si la cadena es muy larga, el uso de la cadena no es escalable ya que la cadena es inmutable y se crearán y recolectarán demasiados objetos.
solución de clase {
cadena pública reversewords (cadena s) {
if (s == null || s.length () == 0) {
regreso “”;
}
// dividir en palabras por espacio
Cadena [] arr = s.split (“”);
StringBuilder sb = new StringBuilder ();
para (int i = arr.length – 1; i> = 0; –i) {
if (! arr [i] .equals (“”)) {
sb.append (arr [i]). append (“”);
}
}
devuelve sb.length () == 0? “”: sb.substring (0, sb.length () – 1);
}
}
Entrada: “el cielo es azul”, devuelve “azul es el cielo”.