搞清楚镜像的定义,简单来说就是:从上到下,依次交换每个节点的左右节点。
来自《剑指 Offer》的示意图:
代码实现如下:
// 原文地址:https://xxoo521.com/2020-01-13-tree-jing-xiang/ // ac地址:https://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011 /* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ function Mirror(root) { if (!root) { return null; } // 交换当前节点的左右节点 const leftCopy = root.left; root.left = root.right; root.right = leftCopy; // 对左右子树做相同操作 Mirror(root.left); Mirror(root.right); return root; }
🔍 关注公众号“心谭博客” / 👉 前往 xxoo521.com
查看更多前端与算法的系列文章,获得更好阅读体验