递归 总的来说,递归的思想是先处理问题的一部分(通常是比较好处理的),然后剩下的情况和原来的情况在某种程度上类似。 很多情况下递归可以改用循环实现,递归的代码容易理解,但是有可能导致栈溢出,循环的代码比较长,但是性能更好。 递归可以用于需要多层嵌套循环,但是又不知道嵌套多少层的情况 比如输出1到最大的n位数。如果n已知,比如是3,那就是3层循环分别表示个位、十位、百位。但是n是变量,循环多少层未知,这种情况下可以使用递归。