diff options
Diffstat (limited to 'coding-exercises/2/28.rkt')
| -rw-r--r-- | coding-exercises/2/28.rkt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/coding-exercises/2/28.rkt b/coding-exercises/2/28.rkt new file mode 100644 index 0000000..d8d3bd6 --- /dev/null +++ b/coding-exercises/2/28.rkt @@ -0,0 +1,14 @@ +#lang racket +(require sicp) + +(define (fringe tree) + (define (iter tree leaves-list) + (cond ((null? tree) leaves-list) + ((pair? (car tree)) + (iter (cdr tree) (append leaves-list (iter (car tree) '())))) + (else + (iter (cdr tree) (append leaves-list (list (car tree))))))) + (iter tree '())) + +(define x (list (list 1 2) (list 3 4))) +(fringe x) |
