課程
/云計(jì)算&大數(shù)據(jù)
/大數(shù)據(jù)
/Scala程序設(shè)計(jì)—基礎(chǔ)篇
怎么寫成尾遞歸呢?
2019-07-07
源自:Scala程序設(shè)計(jì)—基礎(chǔ)篇 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,"")
就是尾遞歸啊,你第一次執(zhí)行else后變成了1 List(2,3,4)(中間有空格),然后你a判斷又不是空集合,就一直執(zhí)行了,知道a集合變?yōu)榭?,因?yàn)樽優(yōu)榭?,才沒有尾部跟頭部概念,才停止運(yùn)行
不是尾遞歸,沒有加@annotation.tailrec編譯器不會(huì)按尾遞歸處理
舉報(bào)
Scala基礎(chǔ)編程入門視頻教程,能夠編寫簡單的Scala代碼
2 回答為什么這個(gè)遞歸不溢出
1 回答最后一小節(jié)快速排序 性能是正常快速排序的一半吧
1 回答請(qǐng)問下面這個(gè)格式是什么意思
1 回答在cmd中鍵入sbt,提示 不是內(nèi)部或者外部命令,但是scala這個(gè)命令在cmd中是可以正常執(zhí)行的?
1 回答這個(gè)視頻有問題 ?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2021-12-09
2020-08-24
就是尾遞歸啊,你第一次執(zhí)行else后變成了1 List(2,3,4)(中間有空格),然后你a判斷又不是空集合,就一直執(zhí)行了,知道a集合變?yōu)榭?,因?yàn)樽優(yōu)榭?,才沒有尾部跟頭部概念,才停止運(yùn)行
2019-07-13
不是尾遞歸,沒有加@annotation.tailrec編譯器不會(huì)按尾遞歸處理