最后这个不是尾递归吧?

来源:6-1 Scala Collections-list基本使用

由果子

2019-07-07 20:49

怎么写成尾递归呢?

写回答 关注

3回答

  • 只是很冷
    2021-12-09 16:07:38
    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,"")


  • weixin_慕哥0191811
    2020-08-24 20:53:25

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

  • 慕仰3515625
    2019-07-13 21:47:19

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

Scala程序设计—基础篇

Scala基础编程入门视频教程,能够编写简单的Scala代码

37007 学习 · 77 问题

查看课程

相似问题