观察题目很明显可以知道是遍历的过程中交换左右两个孩子节点
方法思路:遍历的套路+交换的套路
遍历用深度遍历和层次遍历都可以用
深度遍历:(这里的翻转操作位置就相当于遍历中的根节点的位置,即 中左右,左右中里面的中)前序后序的递归遍历法,中序也可以,但是注意,在中序处理完左子树后实现翻转,再去处理右子树时相当于又把左子树处理一遍,某些节点的左右孩子翻转了两次。因此推荐前序遍历或者后序遍历。
层次遍历:将节点加入到队列前实现交换
观察题目很明显可以知道是遍历的过程中交换左右两个孩子节点
方法思路:遍历的套路+交换的套路
遍历用深度遍历和层次遍历都可以用
深度遍历:(这里的翻转操作位置就相当于遍历中的根节点的位置,即 中左右,左右中里面的中)前序后序的递归遍历法,中序也可以,但是注意,在中序处理完左子树后实现翻转,再去处理右子树时相当于又把左子树处理一遍,某些节点的左右孩子翻转了两次。因此推荐前序遍历或者后序遍历。
层次遍历:将节点加入到队列前实现交换