diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2023-03-15 21:27:29 +0100 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2023-03-15 21:27:29 +0100 |
| commit | dfe1bc702d95d6a12918d9251cf6261d323eaba8 (patch) | |
| tree | 7d4d5b29edc1691bde7550e2b9ada547cab3609e /coding-exercises/2/27.rkt | |
| parent | 6f572ec7c12115198dfeb7756bc8d9f02d8c336d (diff) | |
10 exercises not bad
Diffstat (limited to 'coding-exercises/2/27.rkt')
| -rw-r--r-- | coding-exercises/2/27.rkt | 28 |
1 files changed, 28 insertions, 0 deletions
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))) |
