Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

Bon parenthésage (avec pile)

ocaml ★★☆☆☆

Écrire une fonction bien_parenthesee : string -> bool qui renvoie true si la chaîne est un mot bien parenthésé, false sinon.

La chaîne est composée uniquement des six caractères (, ), [, ], {, }. Un mot est bien parenthésé si : - chaque ouvrante possède une fermante correspondante du même type, - les paires sont correctement imbriquées (pas de croisement comme ([)]).

La chaîne vide est considérée comme bien parenthésée.

On utilisera le module Stack de la bibliothèque standard : - Stack.create () : nouvelle pile vide, - Stack.push x s : empile, - Stack.pop s : dépile et renvoie (lève Stack.Empty si vide), - Stack.is_empty s : teste la vacuité.

Exemples

AppelRésultat attendu
bien_parenthesee "" True
bien_parenthesee "([]{})" True

Votre code

Connectez-vous pour soumettre du code.