题目描述
翻转一棵二叉树。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/70c98f80e751235df3a83185ce628077.png)
思路
参考自:https://leetcode-cn.com/problems/invert-binary-tree/solution/dong-hua-yan-shi-liang-chong-shi-xian-226-fan-zhua/
递归地交换左右子树。
- 终止条件:当节点为 null 时返回;
- 交换当前节点的左右节点,再递归地交换当前节点的左子树,然后递归的交换当前节点的右子树
- 时间复杂度:O(n),每个元素都必须访问一次
- 空间复杂度:O(h),最坏的情况下,需要存放O(h)个函数调用(h 是树的高度),所以是O(h)
代码
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bdab48f5b90ad0eeaadf90643864d13d.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f8cf5bc160c51cefffc33990348d98e5.png)