OCaml (option informatique) · Chapitre 6 · Exercice de TD
Palindrome
Caractères et chaînes de caractères · niveau 2
Énoncé
Écrire est_palindrome s (la chaîne se lit pareil dans les deux sens).
Corrigé
let est_palindrome s =
let n = String.length s in
let ok = ref true in
for i = 0 to n / 2 - 1 do
if s.[i] <> s.[n - 1 - i] then ok := false
done;
!ok
On compare le caractère i à son symétrique n-1-i, pour i jusqu'au milieu. Aucune construction de chaîne : on lit seulement. est_palindrome "kayak" vaut true, est_palindrome "ocaml" vaut false.
Exercices semblables
- Somme des chiffres d'une chaîne corrigé
- Ordre lexicographique corrigé
- Conversions corrigé
- Compter les mots corrigé
- Répéter une chaîne corrigé