comb方法的最后返回

来源:3-3 电话号码组合-代码演示

Mi_Rai

2019-05-29

我还是有点不大理解,既然已经在else里返回了temp了,为什么在方法最后一行还要再返回一个arr[0]呢?
当它计算结束,数组只剩一项的时候,就会进入else语句,else语句内的return语句会把temp直接返回出去,不会再继续执行comb函数的最后一行return了吧?

写回答

1回答

快乐动起来呀

2019-05-30

同学你还没有理解递归,你可以试试把 return arr[0] 注释掉看看什么效果?会报错,说明 return arr[0] 会被执行,这是为什么呢?因为 if 满足之后执行了 combo ,但是结束了吗?并没有,因为后面还有 return arr[0] 这句,它才是这个函数的返回值,没有这个返回值,你的每一层递归是没有值的,试试看

0
1
Mi_Rai
刚在电脑上试了一下,去掉后可以跑起来,而且输出的结果好像是一样的。。尴尬?
2019-06-06
共1条回复

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程