前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【剑指Offer】二叉树的镜像

【剑指Offer】二叉树的镜像

作者头像
Rochester
发布2020-09-01 09:42:56
3580
发布2020-09-01 09:42:56
举报
文章被收录于专栏:牛人NR

题目:

请完成一个函数,输入一个二叉树,该函数输出它的镜像。

例如输入:

代码语言:javascript
复制
     4
   /   \
  2     7
 / \   / \
1   3 6   9

镜像输出:

代码语言:javascript
复制
     4
   /   \
  7     2
 / \   / \
9   6 3   1

示例 1:

代码语言:javascript
复制
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

题解:

看输入二叉树图像和镜像输出图像,可发现每一个节点的子节点的左右值都在交换位置。

在此,我们可以用递归的方法去不断交换二叉树节点的左右值

  • 当节点root为空时,则返回null;
  • 利用递归,不断交换节点的左右值

代码:

代码语言:javascript
复制
class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        // 判断 root是否为空,若为null,则表示越出节点,则返回 null
       if (root == null) {
           return null;
       }
        // 递归,轮回交换 节点左右节点值
       TreeNode temp = root.left;
       root.left = mirrorTree(root.right);
       root.right = mirrorTree(temp);
       return root;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目:
  • 题解:
  • 代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档