题目描述(简单难度)

    反转二叉树,将二叉树所有的节点的左右两个孩子交换。

    解法一 递归

    对于二叉树的问题,用递归写的话就会异常简单了。交换左右节点,然后左右节点交给递归即可。

    解法二 DFS 栈

    当然递归都可以用栈模拟,因为解法一的递归比较简单,所以改写也比较容易。

    解法三 BFS 队列

    一道比较简单的题,用递归很快就可以解决。之前一直认为,递归改写成解法二或者解法三的迭代那样会更好一些,因为可以防止递归的堆栈溢出。虽然也有缺点,那就是代码会相对更复杂些,可读性有些降低。

    刚才看到 大神的一个不一样的观点,分享一下。

    添加好友一起进步~

    如果觉得有帮助的话,可以点击 这里 给一个 star 哦 ^^

    如果想系统的学习数据结构和算法,强烈推荐一个我之前学过的课程,可以点击 查看详情