题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述:

二叉树的镜像定义:源二叉树 
    	    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 || !(pRoot->left) && !(pRoot->right)) return;
        TreeNode* tmp = pRoot->left;
        pRoot->left = pRoot->right;
        pRoot->right = tmp;
        Mirror(pRoot->left);
        Mirror(pRoot->right);
    }
};

 

相关文章:

  • 2021-07-10
  • 2021-05-27
  • 2021-11-18
  • 2021-07-27
  • 2022-01-13
  • 2021-08-11
猜你喜欢
  • 2021-08-13
  • 2021-07-15
  • 2021-03-28
  • 2021-10-12
  • 2021-05-24
  • 2021-07-27
相关资源
相似解决方案