1
define-type StringTree (U StringNode 'SEmpty))
(define-struct StringNode
([val : String]
[left : StringTree]
[right : StringTree]))
使用上面的定義。我們必須創建一個函數,它可以創建二級數據結構並輸出一個字符串,該字符串就是結構右側的所有字母。從遞歸數據結構製作字符串
使結構遞歸是很容易的:
(: mirror : StringTree -> StringTree)
(define (mirror a)
(match a
['SEmpty 'SEmpty]
[(StringNode val left right)
(StringNode val (mirror left) (mirror right))]))
但我不知道如何在右側只輸出字符串到一個單一的,附加的字符串。