题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。  
输入描述: 
二叉树的镜像定义: 
源二叉树 :        8
       /        6   10
     / \  /     5  7 9 11
镜像二叉树:        8
       /        10   6
     / \  /     11 9 7  5
思路: 
所谓的镜像,就是交换...
                            
                            
                                分类:
其他好文   时间:
2015-07-23 00:41:39   
                                阅读次数:
187
                             
                    
                        
                            
                            
                                题目1521:二叉树的镜像时间限制:1 秒内存限制:128 兆特殊判题:否提交:2061解决:560题目描述:输入一个二叉树,输出其镜像。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0 2 #include 3 #include 4 #inclu.....
                            
                            
                                分类:
其他好文   时间:
2015-07-15 13:01:20   
                                阅读次数:
123
                             
                    
                        
                            
                            
                                先序遍历树的每个结点,若遍历到的结点有子结点,则交换它的两个子结点。
 
1. 递归求解:
voidMirroRecursively(BinaryTreeNode *pNode)  
{  
    if(NULL == pNode)  
        return; 
    if(NULL == pNode->Left && NULL== pNode->Right)...
                            
                            
                                分类:
其他好文   时间:
2015-07-07 17:06:22   
                                阅读次数:
170
                             
                    
                        
                            
                            
                                【题目】请完成一个函数,输入一个二叉树,该函数输出它的镜像。【分析】镜像概念:犹如人照镜子一般,二叉树的镜像,就是将镜像二叉树与原二叉树对折可以重合的意思,如下: 
实现方法: 
一层一层向下遍历每个根节点,将根节点下的左右孩子交换位置。 
从根节点开始,交换其左右孩子6和7,以7为根节点的子树结构和以6为根节点的子树结构完全交换后,递归操作左子树和右子树,如图所示。【测试结果】测试例中二叉树:...
                            
                            
                                分类:
其他好文   时间:
2015-06-17 21:30:59   
                                阅读次数:
159
                             
                    
                        
                            
                            
                                思路:采用递归的思想。对于根节点,若其左子树或右子树不为空(为空返回),则互换左、右子树,然后对于左、右子树,分别递归上述处理方法,直至叶节点。实现代码如下:#includeusing namespace std;struct treenode{ char data; treenode ...
                            
                            
                                分类:
其他好文   时间:
2015-05-30 19:46:37   
                                阅读次数:
133
                             
                    
                        
                            
                            
                                原题链接:http://ac.jobdu.com/problem.php?pid=1521水题,如下。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using std::cin; 8 usi...
                            
                            
                                分类:
其他好文   时间:
2015-05-27 22:46:14   
                                阅读次数:
261
                             
                    
                        
                            
                            
                                题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。
二叉树结点定义如下:
struct BinaryTreeNode{
	int m_nValue;
	BinaryTreeNode *m_pLeft;
	BinaryTreeNode *m_pRight;
};思路:我们先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有非叶护结点的左右子结点之后,就...
                            
                            
                                分类:
其他好文   时间:
2015-05-16 11:58:37   
                                阅读次数:
143
                             
                    
                        
                            
                            
                                引言 发现二叉树的问题很多都是用递归解决的,除了按照剑指offer书中给的递归方法,自己也用栈的方法去实现了,两种方法其实深层次的思想差不多 分析问题 只要我们前序遍历,或者层次遍历二叉树,如果遇到节点就将左右子树交换,即可,递归基就是节点没有左右子树 解决问题 利用递归方法 这里要注意Corner...
                            
                            
                                分类:
其他好文   时间:
2015-04-29 23:08:40   
                                阅读次数:
169
                             
                    
                        
                            
                            
                                题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于
右子树的结点。用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ 6 10
/\ /5 7 9 11
输出:
8
/ 10 6
/\ /11 9 7 5
思路:这也是一个递归的题目,对于当前节点,如果不是NULL节点或者叶子节点,那么只需要交换左右子节点...
                            
                            
                                分类:
其他好文   时间:
2015-04-29 09:58:55   
                                阅读次数:
112
                             
                    
                        
                            
                            
                                一、题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。二、算法及实现1.算法 一个二叉树的镜像,他的左子树是原二叉树的右子树,而他的右子树是原二叉树的左子树,而他的子树也是如此。那么,为了得到二叉树的镜像,我们可以把二叉树的左右子树交换,对于其子树,也是如此。该算法用递归实现最符合要求。.....
                            
                            
                                分类:
其他好文   时间:
2015-03-19 11:27:58   
                                阅读次数:
99