题解 | #二叉树的镜像#
二叉树的镜像
https://www.nowcoder.com/practice/a9d0ecbacef9410ca97463e4a5c83be7
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pRoot TreeNode类 * @return TreeNode类 */ function Mirror(pRoot) { return bfs(pRoot); } function dfs(root) { if (!root) { return root; } const temp = root.left; root.left = root.right; root.right = temp; dfs(root.left); dfs(root.right); return root; } function bfs(root) { if (!root) { return root; } const queue = [root]; while (queue.length) { const node = queue.shift(); const temp = node.left; node.left = node.right; node.right = temp; node.left && queue.push(node.left); node.right && queue.push(node.right); } return root; } module.exports = { Mirror: Mirror, };