【发布时间】:2015-12-11 09:27:30
【问题描述】:
我正在尝试创建一个返回列表相邻副本的函数,例如 (dups '(1 2 1 1 1 4 4) 应该返回列表 (1 4)。
这是我目前想出的代码:
(define (dups lst)
(if (equal? (car lst)(car(cdr lst)))
(cons(cdr lst) '())
(dups(cdr lst))))
这个函数不会返回所有相邻的重复,它只返回第一个相邻的重复! 如何修复它以使其返回列表的所有相邻副本?
谢谢。
【问题讨论】:
-
这应该对
(1 1 4 4 1 1)做什么?(1 1 1 1 1)? -
(1 1 4 4 1 1) > 应该返回 (1 4 1)
-
(1 1 1 1 1) > 应该返回 (1)