剑指offer-二叉树镜像
2018-03-01 16:30
211 查看
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
解法:其实观察可以发现从上往下先是将左右交换,然后再接着交换不断递归即可 void Mirror(TreeNode *pRoot) {
if(pRoot)
{
TreeNode* temp=pRoot->left;
pRoot->left=pRoot->right;
pRoot->right=temp;
if(pRoot->left)//左边继续
Mirror(pRoot->left);
if(pRoot->right)//右边继续
Mirror(pRoot->right);
}
}
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
解法:其实观察可以发现从上往下先是将左右交换,然后再接着交换不断递归即可 void Mirror(TreeNode *pRoot) {
if(pRoot)
{
TreeNode* temp=pRoot->left;
pRoot->left=pRoot->right;
pRoot->right=temp;
if(pRoot->left)//左边继续
Mirror(pRoot->left);
if(pRoot->right)//右边继续
Mirror(pRoot->right);
}
}
相关文章推荐
- 剑指offer之二叉树镜像
- 剑指Offer: (Java实现) 丑数
- 剑指offer-二维数组查找
- 【面试题】剑指offer15--求链表中的倒数第k个结点
- 【剑指offer】4.4分解让复杂问题简单化——面试题26:复杂链表的复制
- 【面试题】剑指offer18--判断一个二叉树是否为另一个二叉树的子结构
- 剑指offer中的青蛙跳台阶问题
- 【剑指offer】6.3知识迁移能力——面试题39:二叉树的深度
- 剑指offer——按之字形打印二叉树
- 剑指offer 16---单链表的逆置
- 【剑指offer】树的子结构
- 【剑指Offer】两个栈实现一个队列
- 剑指offer--面试题24:反转链表
- [剑指offer-1386]旋转数组的最小数字
- 剑指offer——数组中只出现一次的数字(好题,熟悉位运算)
- 剑指offer18 树的子结构
- 剑指offer-数值的整数次方
- 【剑指Offer】面试题17:合并两个排序的链表
- 从尾到头打印链表 剑指offer
- 【剑指Offer面试题】九度OJ1384:二维数组中的查找