我有一个帮手来复制列表:
(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 是()。
谢谢你的帮助