剑指 Offer 27. 二叉树的镜像

题意

将一个二叉树转换为它的镜像树

思路

  • 很容易想到镜像树是要交换左右孩子,而且是递归式的,也就是说还要对它的左孩子和右孩子这么做。
  • 本质是对遍历算法的理解,显然这里是用后序遍历比较合理的,后序遍历是左右根的顺序,也就是遍历到当前根结点的时候左右子树都已经遍历过也处理好了(翻转为镜像)

代码

class Solution {
public:
    void post_order(TreeNode* root) {
        if(root) {
            post_order(root->left);
            post_order(root->right);
            swap(root->left, root->right);
        } 
    } 
    TreeNode* mirrorTree(TreeNode* root) {
        post_order(root);
        return root;
    }
};
如有转载,请注明出处QAQ
原文地址:https://www.cnblogs.com/MartinLwx/p/14342142.html