(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
,但我不知道如何解決它。
在此先感謝。