为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

def walk2(list2:List[Int],string:String):String={
    println(s"list2= ${list2},string=${string}")
     if(list2.isEmpty) string+"啊哈哈,变成空了吧"
     else
    walk2( list2.tail,string + list2.head + "JJ")
}
walk2(a,"")


0 回复 有任何疑惑可以回复我~

就是尾递归啊,你第一次执行else后变成了1 List(2,3,4)(中间有空格),然后你a判断又不是空集合,就一直执行了,知道a集合变为空,因为变为空,才没有尾部跟头部概念,才停止运行

0 回复 有任何疑惑可以回复我~

不是尾递归,没有加@annotation.tailrec编译器不会按尾递归处理

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

最后这个不是尾递归吧?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信