这是一个 关于递归函数和while的问题

递归函数,就是递推,加一个条件,然后就退出的过程。
while(变量)形式,里面是操作,不符合条件就退出的过程。
二者本质完成的功能是一样的,而且递归存在大量占用内存的问题。我觉得递归是没有必要存在的。大佬们,我的理解对吗

不是很正确的哦,递归的本质是调用当前方法自身,直到达到最后一层方法结束,然后一层层向上返回结果。
跟 while 循环不是一个意思,而且有些递归的实现不是用 while 循环而是用 if 判断是继续调用还是回调自己。

不能这样理解,虽然说递归可以用循环方式实现,而且效率也没有循环高。但是递归相对来说比较容易实现,比如在二叉树的遍历,用递归很简单的代码就能实现,而用循环的话,相对来说复杂一点。

递归造成占用内存的问题是因为函数调用栈造成的,利用尾递归优化就可以处理,每次只有一个函数在调用;
递归函数处理比while循环处理灵活性更高;