题目:

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

知识点:

注意:

代码实现:

遍历所有节点,交换当前节点的左右子节点,递归至叶子节点

/*二叉树镜像*/
void mirror(BinaryTreeNode *pRoot) {//边界值或特殊情况if (pRoot == nullptr) {return;}//递归至叶子节点(即左右子都为空)if (pRoot->m_pLeft == nullptr && pRoot->m_pRight == nullptr) {return;}//交换左右子节点BinaryTreeNode* temp = nullptr;temp = pRoot->m_pLeft;pRoot->m_pLeft = pRoot->m_pRight;pRoot->m_pRight = temp;//递归左子树、右子树mirror(pRoot->m_pLeft);mirror(pRoot->m_pRight);
}int main()
{   BinaryTreeNode* pNodeA1 = CreateBinaryTreeNode(8);BinaryTreeNode* pNodeA2 = CreateBinaryTreeNode(8);BinaryTreeNode* pNodeA3 = CreateBinaryTreeNode(7);BinaryTreeNode* pNodeA4 = CreateBinaryTreeNode(9);BinaryTreeNode* pNodeA5 = CreateBinaryTreeNode(2);BinaryTreeNode* pNodeA6 = CreateBinaryTreeNode(4);BinaryTreeNode* pNodeA7 = CreateBinaryTreeNode(7);ConnectTreeNodes(pNodeA1, pNodeA2, pNodeA3);ConnectTreeNodes(pNodeA2, pNodeA4, pNodeA5);ConnectTreeNodes(pNodeA5, pNodeA6, pNodeA7);mirror(pNodeA1);PrintTree(pNodeA1);getchar();return 0;
}

剑指offer——27.二叉树的镜像相关推荐

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

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

  2. 【LeetCode】剑指 Offer 27. 二叉树的镜像

    [LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...

  3. 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)

    文章目录 剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树: 样例 1: 限制: 分析 题解 rust go c++ java python 原题传送门:https://leetcode. ...

  4. JZ27 [剑指 Offer 27] 二叉树的镜像

    二叉树的镜像 Category Difficulty Likes Dislikes lcof Easy (79.61%) 311 - 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: ...

  5. 【Java】 剑指offer(27) 二叉树的镜像

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 思路 画图可 ...

  6. 剑指offer 27. 二叉树的镜像

    声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.树的镜像 定义:树的根结点相同,但是左右两个子节点交换了位置 2.解题思路 1)前序遍历树的每一个结点: 2)如果遍历到的节 ...

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

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

  8. 剑指 Offer 27. 二叉树的镜像【无取巧解法,易于理解!】

    看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 请 ...

  9. 剑指offer 27 二叉树的镜像

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

最新文章

  1. 转--Linux邮件服务器软件比较
  2. [Lintcode]118. Distinct Subsequences/[Leetcode]115. Distinct Subsequences
  3. 关于按钮背景透明 + div拖拽
  4. python怎么利用gpu加速_python怎么利用gpu加速
  5. 《Think Python》第15章学习笔记
  6. 万稞pw80线切割编程软件_SODICK 沙迪克慢走丝线切割 T 代码在程序NC 中的小应用...
  7. 自己用qt编写的图片查看器
  8. 当国际贸易撞上AI,会产生怎样的化学反应?
  9. 单机和弱联网游戏内购,白嫖的机会来了
  10. html弹性布局什么意思,弹性布局display:flex是什么意思
  11. 阿里、百度、搜狐等公司社招面试记录与总结
  12. Tableau联动之工作表联动
  13. android rom 制作工具,ROM工具箱(ROM Toolbox Pro)
  14. Mac电脑启动出现空白屏幕的解决办法
  15. ACdream 1224 Robbers
  16. 程序员漫学英语单词——resume
  17. clipboard 多次回调
  18. 得到《三体》听书笔记
  19. 根据经纬度获取城市名
  20. 浅谈 Adaboost 算法

热门文章

  1. cssz中a标签鼠标选中去除选中边框
  2. 书摘 - 吴军.浪潮之巅
  3. Daily Scrum M2 11-5
  4. 【计算机网络】网络协议与计算机网络体系结构(OSI参考模型、TCP/IP体系、网络通信标准化组织)及 Java网络编程
  5. 《Algorithms》Comparable 实现选择排序
  6. 【MyBatis笔记】17-多对多做左连接查询(查询老师,并且把关联的学生也查出来)
  7. 办公室海王小姐姐悄悄问我如何在PC端登录多个微信小号?
  8. Kali渗透测试工具库(一)sprata--信息收集扫描爆破集成
  9. 我靠这个数据分析利器,3年当上运营主管
  10. 高阶函数-语法糖-lambda(三分钟读懂)