【发布时间】:2018-03-05 10:10:06
【问题描述】:
我有一个定义树的函数:
datatype 'a tree = leaf of 'a |
node of 'a tree * 'a tree;
fun cat(leaf(s)) = s
| cat(node(t1,t2)) = cat(t1) ^ " " ^ cat(t2);
cat 函数用于将输入的字符串连接到字符串树。 我知道它不是尾递归,因为定义使用函数本身进行递归。 现在我在想是否有任何方法可以以尾递归的方式实现它? 在此先感谢您的帮助。
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/q/9323036/4996248
-
我相信你的一位同学在你之前几个小时就问过这个问题。