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

输入描述:

二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5

A:二叉树的镜像,就是把非叶子节点的左结点与右节点做调换

//用递归来实现

/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
void Mirror(TreeNode *pRoot) {
//空树
if(pRoot == nullptr)
{
return;
}
//叶子结点
if((pRoot->left == nullptr) && (pRoot->right == nullptr))
{
return;
}
TreeNode *tmp = pRoot->left;
pRoot->left = pRoot->right;
pRoot->right = tmp; if(pRoot->left != nullptr)
{
Mirror(pRoot->left);
}
if(pRoot->right != nullptr)
{
Mirror(pRoot->right);
}
}
};

  



最新文章

  1. [WPF系列]从基础起步学习系列计划
  2. Angular权威指南学习笔记(转)
  3. 【转】maven核心,pom.xml详解
  4. VBA中操作XML
  5. MyBatis一对多双向关联——MyBatis学习笔记之七
  6. iOS常用的设计模式
  7. c#+ArcEngine中的IGroupLayer的用法
  8. javascript正则简单入门
  9. 小话python 中的编码转换
  10. MyBatis框架原理(三)
  11. Vue-Router模式、钩子
  12. 解决jenkins git timeout的问题
  13. Day2:html和css
  14. 转 CSS3+js实现多彩炫酷旋转圆环时钟效果
  15. 作业20171026 alpha-2及alpha发布成绩
  16. 【Kafka】Consumer配置
  17. Python学习---面向对象的学习[基础]
  18. jQuery + Stimulsoft.Report 选择gridview多行打印
  19. C++STL 库中set容器应用
  20. SpringBoot优雅的全局异常处理

热门文章

  1. VSCODE 界面设置
  2. virtualBox虚拟机中安装linux系统并连接
  3. Telerik GridView ----Pdf
  4. 关于Python 面向对象寻值的问题. How the number be found in the OOP in Python
  5. shell 脚本请求接口报错
  6. Ubuntu子系统shell脚本自动连接xfce4界面
  7. android audiorecord初始化失败相关资料收集
  8. lua 文件读写处理(操作敏感词库)
  9. mysql 创建函数失败解决办法,版本 8.0.26
  10. 2023-03-01 fatal: unable to access 'https://github.com/top-think/think/': OpenSSL SSL_read: Connection was reset, errno 10054