Je souhaite écrire une méthode pour déterminer si une chaîne donnée est un palindrome. Par exemple. "Madame je suis Adam", ou "Un homme, un plan, un canal, Panama".Logique de codage C++ - Diverses idées
Le prototype de la fonction est:
bool is_palindrome(char const * str)
J'ai une logique simple pour vérifier l'égalité en aller de l'avant vers l'arrière & des extrémités extrêmes de la chaîne. Mais, je voudrais savoir combien de façons efficaces de le faire? Toutes les idées sont bienvenues de la part des gourous C++ ..
Il y a http://stackoverflow.com/questions/248161/palindrome-detection-efficiency et http://stackoverflow.com/questions/228518/palindrome-golf. Dup possible? – pmr
Notez que vos deux exemples ne sont que des palindromes si vous ignorez rigoureusement l'espace blanc, la ponctuation et la casse (une condition presque universelle, BTW). Comment cela affectera-t-il votre approche? Est-ce que le code vaut pour les variantes qui en appliquent un ou plusieurs? Comment feriez-vous cela? Pouvez-vous fournir une interface propre à toutes les combinaisons possibles? Une fois que vous avez fait cela, * alors * vous comprenez votre problème. À votre santé. – dmckee