方案/球拍/ R5RS
尝试进行递归过程,将2个相同大小的列表配对。只是不能正确地进行递归调用。 这就是我所拥有的,而且我被困住了。
(define (pairs list1 list2)
(if (or (null? list1) (null? list2))
'()
(cons (car list1) (car list2))
))
测试用例: (对'(1 2 3)'(a b c)) 期望的输出:((1.a)(2.2 b)(3. c)) 电流输出:(1.a)
答案 0 :(得分:2)
你只需要cons
当前结果到程序的递归调用,那就是它!
(define (pairs list1 list2)
(if (or (null? list1) (null? list2))
'()
(cons (cons (car list1) (car list2))
(pairs (cdr list1) (cdr list2)))))
答案 1 :(得分:0)
这也是一个可以接受的解决方案吗?
(define pairs
(lambda (x y)
(map cons x y)))