Привет, я пытаюсь передать двоичное дерево в список, но пересекаю его в обратном порядке.
(define (postorden arbol)
(if (null? arbol)
('()) (append (append (postorden (car (cdr arbol)))
(postorden (car (cddr arbol))))
(list (car arbol)))))
Но я получаю эту ошибку:
cdr: нарушение контракта ожидается: пара? дано: 'нулевой
Но, например, с этим деревом: '((1 2) ((7 10) ((2 4) null null)) ((6 8) ((10 13) null null) null))
выполнил cdr и получил: (((7 10) ((2 4) null null)) ((6 8) ((10 13) null nul) null)) и затем я делаю машину к этому результату: '(( 7 10) ((2 4) null null)) что, если это пара. Так что я не понимаю, что не так.
Заранее спасибо.