我有一个帮手来复制列表:
(define (list-copy list)
(if (null? list)
'()
(cons (car list) (list-copy (cdr list)))))
然后,
(define (multList lst1 lst2)
(define lstCopy2 (list-copy lst2))
(cond ((null? lst1) ())
((eq? (length lst1) (length lst2)) (cons (* (car lst1) (car lst2)) (multList (cdr lst1) (cdr lst2))))
((> (length lst1) (length lst2))
(if (null? lst2) lstCopy2
(cons (* (car lst1) (car lst2)) (multList (cdr lst1) (cdr lst2)))))
(else '())))
我正在尝试将 lst2 复制到 lstCopy2 中,然后我希望 lstCopy2 在我处理 lst2 时保持不变,以便像最初一样调用 lst2(在 lstCopy2 的帮助下)。在我的第三个条件(当长度 lst1 > 长度 lst2)当 lst2 =()时,我想继续这个过程,直到 lst1 是()。
谢谢你的帮助