From dfe1bc702d95d6a12918d9251cf6261d323eaba8 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Wed, 15 Mar 2023 21:27:29 +0100 Subject: 10 exercises not bad --- coding-exercises/2/27.rkt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 coding-exercises/2/27.rkt (limited to 'coding-exercises/2/27.rkt') diff --git a/coding-exercises/2/27.rkt b/coding-exercises/2/27.rkt new file mode 100644 index 0000000..b52f7b3 --- /dev/null +++ b/coding-exercises/2/27.rkt @@ -0,0 +1,28 @@ +#lang racket +(require sicp) + +(define (reverse l) + (define (iter l p) + (cond + ((null? l) p) + (else + (iter + (cdr l) + (cons (car l) p))))) + (iter l (list))) + +(define (deep-reverse nested-list) + (define (iter l p) + (cond + ((null? l) p) + ((pair? (car l)) + (iter (cdr l) + (cons (iter (car l) nil) + p))) + (else + (iter + (cdr l) + (cons (car l) p))))) + (iter nested-list nil)) + +(deep-reverse (list (list 1 2) (list 3 4))) -- cgit v1.2.3