美文网首页
19 二叉树的镜像

19 二叉树的镜像

作者: Juge100 | 来源:发表于2018-10-10 20:11 被阅读0次

二叉树的镜像

题目描述:

操作给定的二叉树,将其变换为源二叉树的镜像。

解题思路:

跟之前的题目有些类似的地方:

看到树的题目,大多都会用递归的思想来解决

  1. 如果想要将整个树都做成镜像,就是要将所有结点的左右子树调换位置
  2. 所以,先调换第二层的结点,将左右结点互换
  3. 递归调用该函数,将根结点的左右子结点(也就是刚刚被调换过的)作为新的“根”结点,调换其左右子结点
  4. 退出的条件是遇到叶子结点,即左右子结点均为NULL的结点

代码

class Solution {
public:
    void Mirror(TreeNode *pRoot) {
        // 如果是空指针,则直接返回
        if (pRoot == NULL) 
            return;

        // 如果只有根结点,没有子结点,则也直接返回
        if (pRoot->left == NULL && pRoot->right == NULL)
            return;

        // 设置一个空的指针,作为中转站
        TreeNode *temp;
        temp = pRoot->left;
        pRoot->left = pRoot->right;
        pRoot->right = temp;

        Mirror(pRoot->left);
        Mirror(pRoot->right);

    }
};

2018.10.10

相关文章

  • 《剑指offer》— JavaScript(18)二叉树的镜像

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 相关知识 二叉树的镜像定义:源二叉树 镜像二...

  • 剑指offer学习笔记:4.1 面试官谈面试思路 && 4.2

    面试写代码前,要先讲明思路。 面试题19:二叉树的镜像请完成一个函数,输入一个二叉树,输出他的镜像牛客网链接 ...

  • JZ-018-二叉树的镜像

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。题目链接: 二叉树的镜像[https://ww...

  • 二叉树的镜像-java

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6...

  • 剑指offer-18~20

    18.二叉树的镜像操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/...

  • 剑指offer(java版)——解决面试题的思路

    1.镜像二叉树 题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ \...

  • 二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 二叉树的镜像定义:源二叉树与镜像二叉树 代码 总...

  • 二叉树镜像(反转二叉树)

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 相关知识 二叉树的镜像定义: 思路 有关二叉...

  • 剑指offer-二叉树的镜像

    操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树----------8-----...

  • 二叉树的镜像

    题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树   ...

网友评论

      本文标题:19 二叉树的镜像

      本文链接:https://www.haomeiwen.com/subject/plpmaftx.html