内容和代码参考:前端算法和数据结面试:底层逻辑解读与大厂真题训练,以下是讲如何用递归去实现翻转二叉树
翻转二叉树
代码实现
const invertTree = (root) => {
if (!root) return;
let left = invertTree(root.left)
let right = invertTree(root.right);
root.left = right;
root.right = left;
return root;
}
let root2 = {
val: 4,
left: {
val: 2,
left: {
val: 1,
left: {},
right: {},
},
right: {
val: 3,
left: {},
right: {}
}
},
right: {
val: 7,
left: {
val: 6,
left: {},
right: {},
},
right: {
val: 9,
left: {},
right: {}
}
}
}
console.log(invertTree(root2))