题目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 请完成一个函数,输入一个二叉树,该函数输出它的镜像。
例如输入:
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 3 4 5 6 7 8 9 10 11
| private static class Solution { public TreeNode mirrorTree(TreeNode root) { if (root == null){ return null; } TreeNode tempNode = root.left; root.left = mirrorTree(root.right); root.right = mirrorTree(tempNode); return root; } }
|