到力扣链接
直接上干货 通俗易懂 注释详细
//递归法 前序遍历 后序遍历 从而实现二叉树的反转操作
//迭代法 利用栈这种数据结构来实现迭代 栈的底层其实也是递归
//层序遍历法 利用二叉树的层序遍历方法来实现
递归法
//递归 前序遍历 中左右
var invertTree = function(root) {
// 判断递归的终止条件
if(root === null)return root;
// 交换左右子树
let temp = root.left;
root.left = root.right;
root.right = temp;
// 递归的每一个步骤
invertTree(root.left); // 左
invertTree(root.right); // 右
return root;
};
//递归 后序遍历 左右中
var invertTree = function(root){
if(root === null)return root;
invertTree(root.left); // 先进行左递归
invertTree(root.right) // 进行右递归
// 交换左右子树的位置
let temp = root.left;
root.left = root.right;
root.right = temp;
return root;
}