(define (delete-doubles lst)
(cond ((null? lst) '())
((null? (cdr lst)) (car lst))
((equal? (car lst) (cadr lst)) (delete-doubles (cdr lst)))
(else (cons (car lst) (delete-doubles (cdr lst))))))
这是我制作的代码。它用于删除列表中的元素,当该元素彼此出现两次或更多次时。代码工作得很好,除此之外:
> (delete-doubles '(1 2 2 3 4 5))
(1 2 3 4 . 5)
我想删除.
,我知道它与 有关系cons
,但我不知道如何解决它。
提前致谢。