static void palindromo() { Tildes text = new Tildes(); PilaLineal pilachar; bool esPalindromo; String palabra, palabra1; try { pilachar = new PilaLineal(); Console.WriteLine("Teclee una palabra para verificar si es palindromo"); palabra = Console.ReadLine(); palabra1 = text.quitarTildes(palabra); //elimina los espacios en blanco de la cadena //creamos la pilac con los datos char for (int i = 0; i < palabra1.Length; i++) { char c; c = palabra1[i++]; pilachar.insertar(c); } //comprueba si es palindromo esPalindromo = true; for (int j = 0; esPalindromo && !pilachar.pilaVacia(); j++) { Char c; c = (Char)pilachar.quitarChar(); esPalindromo = (palabra1[j++] == c); } pilachar.LimpiarPila(); if (esPalindromo) { Console.WriteLine($"La palabra {palabra} es palindromo"); } else { Console.WriteLine($"La palabra {palabra} no es palindromo"); } } catch (Exception e) { Console.WriteLine("Error: " + e); } }
static void listPalindromo() { Lista lista; Tildes text = new Tildes(); bool palindromo; string palabra; try { lista = new Lista(); string nPalabra; Console.WriteLine("Ingresa una palabra para verificar si es palindromo: "); palabra = Console.ReadLine().ToLower(); //se formatea la palabra sin tildes y sin espacios nPalabra = text.quitarTildes(palabra); //Se crea la lista con caracteres for (int i = 0; i < nPalabra.Length; i++) { Char c; c = nPalabra[i++]; lista.apilar(c); } //comprueba si es palindromo palindromo = true; for (int j = 0; palindromo && !lista.Vacio(); j++) { Nodo c; c = (Nodo)lista.Desapilar(); palindromo = (nPalabra[j++].Equals(c.getDato())); } if (palindromo) { Console.WriteLine($"{palabra} es palindromo"); } else { Console.WriteLine($"{palabra} no es palindromo"); } } catch (Exception e) { Console.WriteLine(e); } }