河南网站建设app开发,微网站怎么做的好,asia域名,企业建设电商网站题目
请完成一个函数#xff0c;输入一个二叉树#xff0c;该函数输出它的镜像。
例如输入#xff1a; 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出#xff1a; 4 / \ 7 2 / \ / \ 9 6 3 1 示例 1#xff1a; 输入#xff1a;root [4,2,…题目
请完成一个函数输入一个二叉树该函数输出它的镜像。
例如输入 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出 4 / \ 7 2 / \ / \ 9 6 3 1 示例 1 输入root [4,2,7,1,3,6,9]输出[4,7,2,9,6,3,1] 限制
0 节点个数 1000 解题思路 1.题目要求我们设计函数输一个树结构的镜像对于这个问题我们采用递归的方法来解决 2首先我们先写出结束条件当root null或者 root 的左右节点都为 null 时我们直接返回 root 3.然后我们递归的调用 mirrorTree方法将 root 的左右子树交给 mirrorTree方法去实现镜像我们需要做的就是将 mirrorTree方法已经实现好的左右子树交换一下位置让 root 的左子树等于 右子树让 root 的右子树等于左子树即可。 代码实现
class Solution {public TreeNode mirrorTree(TreeNode root) {if(root null || root.left null root.right null){return root;}TreeNode left mirrorTree(root.left);TreeNode right mirrorTree(root.right);root.left right;root.right left;return root;}
}
测试结果