Skip to content

Conversation

@glennj
Copy link
Contributor

@glennj glennj commented Nov 24, 2025

@glennj glennj marked this pull request as draft November 24, 2025 14:11
@glennj glennj marked this pull request as ready for review November 24, 2025 14:26
Copy link
Member

@ErikSchierboom ErikSchierboom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I'd be remiss if I didn't take this oppprtunity to share the beauty of Prolog's solution:

:- use_module(library(dcg/basics)).

preorder(nil) --> [].
preorder(node(L, V, R)) --> [V], preorder(L), preorder(R).

inorder(nil) --> [].
inorder(node(L, V, R)) --> inorder(L), [V], inorder(R).

tree_traversals(Tree, Preorder, Inorder) :-
    phrase(preorder(Tree), Preorder),
    phrase(inorder(Tree), Inorder),
    !.

@glennj glennj merged commit 4e18617 into exercism:main Nov 25, 2025
6 of 7 checks passed
@glennj glennj deleted the satellite-cases branch November 25, 2025 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants