python coding with ChatGPT 打卡第15天| 二叉树:翻转二叉树、对称二叉树 从时间复杂度上其实迭代法和递归法差不多(在不考虑函数调用开销和函数调用产生的堆栈开销),但是空间复杂度上,递归开销会大一些,因为递归需要系统堆栈存参数返回值等等。在中序遍历中,我们先递归地处理左子树,然后交换当前节点的左右子节点,最后处理右子树。注意,由于我们在交换后再递归右子树,实际上我们需要两次递归左子树。这么说吧,递归是方便了程序员,难为了机器(各种保存参数,各种进栈出栈)。在实现迭代法的过程中,有同学问了:递归与迭代究竟谁优谁劣呢?递归更容易让程序员理解,但收敛不好,容易栈溢出。