二叉树的镜像
来源:互联网 发布:chart.js 使用xml 编辑:程序博客网 时间:2024/06/09 23:17
剑指offer面试题19
题目:
操作给定的二叉树,将其变换为源二叉树的镜像。
二叉树的镜像定义:
源二叉树 :
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树:
8
/ \
10 6
/ \ / \
11 9 7 5
分析:
1、先序遍历这棵树的每个结点
2、如果遍历到的结点有子结点,交换它的两个子结点
3、交换完所有非叶子节点的左右子结点后,就得到了树的镜像
/*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 == NULL) return ; //递归结束条件。遍历完所有非叶子结点后结束 if(pRoot->left == NULL && pRoot->right == NULL) return ; //交换左右结点 TreeNode *temp = pRoot->left; pRoot->left = pRoot->right; pRoot->right = temp; if(pRoot->left) { Mirror(pRoot->left); } if(pRoot->right) { Mirror(pRoot->right); } }};
0 0
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- Android实现推送方式解决方案
- hugepage总结
- MyEclipse+Maven创建SSM(springMVC+spring+mybatis)项目
- Bom编程
- Spark -4:maven编译spark 源码
- 二叉树的镜像
- 一道数学题~~
- Java 中的访问修饰符
- 如何下载谷歌地球海底高程并生成DWG格式的等深线
- PHP用socket连接SMTP服务器发送邮件
- 安装后——javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件
- android 文本文件的正确写入(防止中文乱码)
- NavigationView和TabLayout使用
- 基于webpack和vue.js搭建开发环境(修改文章列子几个小错误)