作业问题:
(diginlist '(4 5 3 2 8))
应该返回(4(5(3)2)8)
(define(removelast L)
(if(null?(cdr L)) '()
(cons(car L) removelast(cdr L))))
(define(last L) (if(null?(cdr L)) (car L) (last(cdr L))))
(define(diginlist L)
(cond((null? L) '())
((list?(car L)) ((diginlist(car L))
(list(diginlist(cdr L)))))
(else(append(list(diginlist(cdr L)))))))
(diginlist '(4 5 3 2 8))
返回:
(list (list (list (list (list '())))))
我知道我应该合并 removelast 和 last,但我在这样做时遇到了麻烦。