JZ18_二叉树的镜像

知识点:二叉树
题目链接

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

比如:    源二叉树 8/  \6   10/ \  / \5  7 9 11镜像二叉树8/  \10   6/ \  / \11 9 7  5

示例1
输入: {8,6,10,5,7,9,11}
返回值: {8,10,6,11,9,7,5}

解题思路

  1. 递归返回的条件:结点是空的
  2. 遍历树的结点呢,可以采用二叉树的前序遍历方式
    void preOrder(TreeNode *r) { if (!r) return; // process r preOrder(r->left); preOrder(r->right); }
  3. 进行操作,左右交换结点

代码

class Solution {public:TreeNode* Mirror(TreeNode* pRoot) {if(pRoot == nullptr)return pRoot;swap(pRoot->left,pRoot->right);Mirror(pRoot->left);Mirror(pRoot->right);return pRoot;}
};class Solution {public:void Mirror(TreeNode *pRoot) {queue<TreeNode*> pq;pq.push(pRoot);while (!pq.empty()) {int sz = pq.size();while (sz--) {TreeNode *node = pq.front(); pq.pop();if (node->left) pq.push(node->left);if (node->right) pq.push(node->right);TreeNode *cur = node->left; node->left = node->right;node->right = cur;}} }
};

今天也是爱zz的一天!

JZ18_二叉树的镜像相关推荐

  1. 剑指offer:面试题27. 二叉树的镜像

    题目:二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4    /   \   2     7  / \   / \ 1   3 6   9 镜像输出: 4    / ...

  2. 二叉树的镜像(数组,前后 遍历重建二叉树)

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

  3. 二叉树-二叉树的镜像(递归法)

    题意: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 二叉树镜像定义: 对于二叉树中任意节点 root,设其左 / 右子节点分别为 left, right :则在二叉树的镜像中的对应 root ...

  4. python代码实现二叉树的镜像树

    python代码实现二叉树的镜像树 请完成一个函数,输入一个二叉树,该函数输出它的镜像.例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像. 可以总结出这两棵树的根节点相同,但它们的左.右两个子节 ...

  5. 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java

    <LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...

  6. 【剑指offer-Java版】19二叉树的镜像

    二叉树的镜像: public class _Q19 {public void MirrorRecursively(BinaryTreeNode tree){if(tree == null) retur ...

  7. 剑指Offer——二叉树的镜像

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

  8. (剑指Offer)面试题19:二叉树的镜像

    题目: 操作给定的二叉树,将其变换为源二叉树的镜像. 二叉树的定义如下: struct TreeNode{int val;TreeNode* left;TreeNode* right; }; 输入描述 ...

  9. 常考数据结构与算法:二叉树的镜像

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

最新文章

  1. 菜鸟的DUBBO进击之路(二):Dubbo初识
  2. dfa转正则表达式_从0到1打造正则表达式执行引擎(二)
  3. Cortex-M3存储器系统
  4. Java入门到月入2W+ IT各种技术教学资料分享
  5. 机器学习实战(一)k-近邻kNN(k-Nearest Neighbor)
  6. 现代企业三大目标才是核心
  7. boost boost::asio::read read_some receive 区别
  8. Photoshop插件-创建所有亮度通道蒙板-脚本开发-PS插件
  9. HTML-W3school首页制作
  10. 利用lasso回归建立预测模型并绘制列线图 二分类结局资料的lasso回归与列线图绘制
  11. 服务器分辨率无法修改器,win10解决分辨率无法修改的方法攻略
  12. 5750G GT540M显卡游戏蓝屏的终极解决方法!
  13. C 语言基础-什么是常量、变量?
  14. 相伴女人一生的爱情语录[组图]
  15. VSCode这13款插件也太好用了
  16. macbook usb口突然不能用 解决方法
  17. 《东周列国志》第五十二回 公子宋尝鼋构逆 陈灵公衵服戏朝
  18. 2023年东北大学电气工程专硕考研上岸经验
  19. SGD平行算法 - Downpour SGD (单机python多线程版)
  20. 如何在Java中转换Excel文件到图像?

热门文章

  1. Android横屏竖屏切换的问题
  2. 怎样管理可以明确职责分工
  3. seaJS 简要介绍和完整例子
  4. VUE 文字转语音播放的实现示例(亲测好用)
  5. 13 服务:愿意为您效劳
  6. 企业开源该选什么软件许可证?
  7. win10 android 共享文件,手把手教您win10系统通过局域网共享文件的解决方案
  8. Node.js 前世今生
  9. 影视站长必备资料合集
  10. 物理机服务器装系统,物理机安装黑群晖DSM6.1.7系统