我試圖找到列表中的每個元素的深度,同時創造一個扁平的輸出與它們的深度級別寫的輸出原子,到目前爲止,我想出了下面的邏輯 -深度列表
(define nestingDepth
(lambda (lst1)
(cond ((null? lst1) 1)
((list? (car lst1))
(cons(+ 1(nestingDepth (car lst1)))) (nestingDepth (cdr lst1)))
((null? (cdr lst1)) (cons (1 (cdr lst1))) (nestingDepth (cdr lst1))))))
但是這不是輸出中的任何內容。請更新我出錯的地方。 預期結果將類似於 - 輸入 - 「(A(B)C) 輸出 - (1 A 2 B 1 C)
'(深度'(a。b))'產生''(1 a 0 b)'。它是否正確? – uselpa 2014-09-27 17:44:53
Op沒有指定不適當的列表應該發生什麼。 B不是頂級列表中的元素,所以它不是真的在任何深度。我認爲它的深度不爲0是不合理的。 – 2014-09-27 20:19:25