Balanced brackets: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) |
|||
Line 6,193: | Line 6,193: | ||
<lang scheme>(define (balanced-brackets string) |
<lang scheme>(define (balanced-brackets string) |
||
(define (b chars sum) |
(define (b chars sum) |
||
(cond (( |
(cond ((< sum 0) |
||
#f) |
|||
((and (null? chars) (= 0 sum)) |
|||
#t) |
#t) |
||
((null? chars) |
((null? chars) |
||
Line 6,199: | Line 6,201: | ||
((char=? #\[ (car chars)) |
((char=? #\[ (car chars)) |
||
(b (cdr chars) (+ sum 1))) |
(b (cdr chars) (+ sum 1))) |
||
((= |
((char=? #\] (car chars)) |
||
(b (cdr chars) (- sum 1))) |
|||
(else |
(else |
||
( |
(#f))) |
||
(b (string->list string) 0)) |
(b (string->list string) 0)) |
||