课程
/云计算&大数据
/大数据
/Scala程序设计—基础篇
怎么写成尾递归呢?
2019-07-07
源自:Scala程序设计—基础篇 6-1
正在回答
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,"")
就是尾递归啊,你第一次执行else后变成了1 List(2,3,4)(中间有空格),然后你a判断又不是空集合,就一直执行了,知道a集合变为空,因为变为空,才没有尾部跟头部概念,才停止运行
不是尾递归,没有加@annotation.tailrec编译器不会按尾递归处理
举报
Scala基础编程入门视频教程,能够编写简单的Scala代码
2 回答为什么这个递归不溢出
1 回答最后一小节快速排序 性能是正常快速排序的一半吧
1 回答请问下面这个格式是什么意思
1 回答在cmd中键入sbt,提示 不是内部或者外部命令,但是scala这个命令在cmd中是可以正常执行的?
1 回答后面几分钟,录屏出问题了,是空白