我的任务是从List输入递归创建表达式树。
离。 (" +",2,3)
"+"
/ \
2 3
我知道我的递归已经结束,但我无法弄清楚如何让它起作用。我很自豪地承认这个问题的时间比我长。任何见解都表示赞赏!这就是我所拥有的
fun TreeBuild(input:List<Any>): Pair<Tree, List<Any>>{
var tree = Tree(input.get(0), Unit, Unit)
var list = input
System.out.println(list)
if(input.size == 1 ){
list = list.drop(1)
return Pair(Tree(input.get(0), Unit, Unit), list)
}
var flag: Boolean = (input.get(0) is Int)
if (!flag){
list = list.drop(1)
tree.left = TreeBuild(list).first
list = list.drop(1)
tree.right = TreeBuild(list).first
}
return Pair(tree, list)
}