0

数値とバイナリ ツリーを入力し、数値と同じ深さのバイナリ ツリーのデータ式を出力するスキーム関数を評価する必要があります。たとえば、ツリーのルートは 1 で、サブツリーのルートは 2 などです。

これは私がこれまでに得たものであり、エラーメッセージが表示され続けていますError in null?: expected a list; got '1'.(これは、以前に尋ねた問題を解決する別の方法です) スキームプログラミングに慣れていないので、既に使用した用語を使用してこれを説明していただけますか.

ありがとうございました

(define fetch-exp (λ (n bt) 
  (cond [(not (deep-enough? n bt)) ▽#f]
        [(one? n) (root bt)]
        [(deep-enough? n (left-tree bt)) 
         (fetch-exp (left-tree bt) (sub1 n))] 
        [(deep-enough? n (right-tree bt)) 
         (fetch-exp (right-tree bt) sub1 n)] 
        [else ▽#f]))) 

(define deep-enough? 
 (λ (n bt) 
  (cond [(> (tree-depth bt) n) ▽#t] 
        [(equal? (tree-depth bt) n) ▽#t]      
        [else ▽#f])))
4

1 に答える 1