我需要创建一个函数来检测列表是否在原子和子列表之间交替。因此,例如,如果列表为 (a (bc) d (ef)),它将返回 true,如果列表为 (ab),则返回 false
这是我到目前为止所拥有的:
(define (altlist? lis)
(cond
((null? lis)#t)
((null? (cdr lis))#t)
((list? (car lis))
(not(list? (cadr lis)
(altlist? cdr lis)
'() )
(list? (cadr lis)
(altlist? cdr lis)
'())
))))