| string-merge-iter.scm - A tail recursive version of string-merge. | Lecture 2 - slide 6 : 35 Program 1 |
(define (string-merge-iter str-list-1 str-list-2)
(merge-iter-helper str-list-1 str-list-2 ""))
(define (merge-iter-helper str-list-1 str-list-2 res)
(cond ((null? str-list-1)
(string-append res (apply string-append str-list-2)))
((null? str-list-2)
(string-append res (apply string-append str-list-1)))
(else (merge-iter-helper
(cdr str-list-1)
(cdr str-list-2)
(string-append
res (car str-list-1) (car str-list-2))))))