方法一:
我们可以发现二叉树的后序遍历=镜像二叉树的先序遍历的反向输出。于是需要:
1.得到镜像二叉树
2.非递归的先序遍历镜像二叉树
3.将节点的访问结果存储在栈中,利用先入后出的特点将输出结果的顺序反向
class Tree {
public:
TreeNode* invertTree(TreeNode* root) {
if (root == nullptr)
return nullptr;
TreeNode* left = invertTree(root->left);
TreeNode* right = invertTree(root->right);
root->left = right;
root->right = left;
return root;
}
};
class Solution