Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/09/2012, 15:33
Avatar de Lalounam
Lalounam
 
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 12 años, 8 meses
Puntos: 19
Respuesta: Comparar Caracteres de cadenas

Claro, te voy a poner tus dos ejemplos:

Código Java:
Ver original
  1. String cadena1 = "casa";
  2. String cadena2 = "saca";

para comparar estas dos cadenas tomamos la primera, la recorremos y vamos tomando cada uno de sus caracteres pero no como caracteres sino como cadena, es decir: "c" "a" "s" "a"
en ese mismo recorrido vamos preguntando si la otra cadena "saca" contiene cada uno de los caracteres: "saca".contains("c"). En el instante en que eso no pase:

Código Java:
Ver original
  1. if (!cadena2.contains(cadena1.substring(i, i + 1)))

significara que las cadenas no son iguales pues hemos encontrado un caracter presente en una pero no en la otra.

Por supuesto tenemos que hacer los mismo al revés, ya que si sólo lo hicieramos con una cadena diría que son iguales cadenas como "casa" y "sacale".

Esto hace una solución con n+m de complejidad donde n y m son las longitudes de tus cadenas respectivamente, es decir es de orden lineal :D