Adloun

Palindrome

Exercice · OCaml (option informatique), chapitre 6 — Caractères et chaînes de caractères

É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 &quot;kayak&quot; vaut true, est_palindrome &quot;ocaml&quot; vaut false.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.