二叉樹的鏡像

題目描述

操作給定的二叉樹,將其變換爲源二叉樹的鏡像。 
輸入描述:
二叉樹的鏡像定義:源二叉樹 
    	    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;
            //注意當只有一個空節點時候,也是要交換的
            if(pRoot->left==NULL&&pRoot->right==NULL)
                return;
            TreeNode *pTemp=pRoot->left;
            pRoot->left=pRoot->right;
            pRoot->right=pTemp;
        if(pRoot->right)
            Mirror(pRoot->right);
        if(pRoot->left)
            Mirror(pRoot->left);
    }
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章