BFS是解决这个问题的核心,BFS的初始节点是一个根节点。
var invertTree = function(root) {
// 使用BFS解决翻转二叉树问题
if (!root) return null;
const res = [root];
while (res.length) {
let cur = res.shift();
// 交换左右节点
[cur.left, cur.right] = [cur.right, cur.left];
if (cur.left) {
res.push(cur.left);
}
if (cur.right) {
res.push(cur.right);
}
}
return root;
};
二叉树镜像和反转二叉树是一个题目,总的来说通过BFS可以高效的解决这个问题。