Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/04/2006, 09:24
Avatar de Tipdar
Tipdar
 
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 19 años, 4 meses
Puntos: 7
Hola aksha69, estos algoritmos que te pongo a continuación le darán un poco de trabajo al garbage collector de java, pero me gusta más hacer las cosas recursivas... siempre que se pueda, claro.

public boolean esPalindromo(String s) {
if (s.length() <= 1)
return true;
else if (s.charAt(0) == s.charAt(s.length() - 1))
return esPalindromo(s.substring(1, s.length() - 1));
return false;
}

Y para el factorial:

public int factorial(int numero) {
if (numero == 0)
return 1;
return numero * factorial(numero - 1);
}

Las soluciones iterativas son muy eficientes, pero las soluciones recursivas dividen el problema en pequeños problemas. Divide y vencerás...

Solo recordarte que el factorial crece muy rápido... así que es posible que necesites usar el tipo de dato long en lugar de int... no te asustes si te da problemas a la hora de calcular números no tan grandes.
__________________
El último TipdaR

Última edición por Tipdar; 24/04/2006 a las 12:52