16,二叉树的镜像《剑指offer》

题目:

操作给定的二叉树,将其变换为源二叉树的镜像。
        :源二叉树 
    	    8
    	   /  \
    	  6   10
    	 / \  / \
    	5  7 9 11
    	镜像二叉树
    	    8
    	   /  \
    	  10   6
    	 / \  / \
    	11 9 7  5
 
思路:
 
对于每一个节点都需要做转换两个指针的指向;所以可以用递归去做
 
代码:
/*
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 ;
       TreeNode *tmpNode;
       tmpNode=pRoot->left;
       pRoot->left=pRoot->right;
       pRoot->right=tmpNode;
       if(pRoot->left!=NULL) Mirror(pRoot->left);
       if(pRoot->right!=NULL) Mirror(pRoot->right);
    }
};

  


posted @ 2017-09-14 13:39  llauser  阅读(154)  评论(0)    收藏  举报