翻转二叉树

https://leetcode.cn/problems/invert-binary-tree/description/?envType=study-plan-v2&envId=top-100-liked

        这是一道经典的问题,翻转二叉树,将所有的左右孩子都翻转。

        这里我们同样使用递归的方法,翻转左右子树。左子树再翻转它的左右子树,右子树再翻转它的左右子树。结束条件就是遇到空结点结束。

        代码如下:

struct TreeNode* invertTree(struct TreeNode* root) {
    if(root == NULL)
        return NULL;
    struct TreeNode* left = invertTree(root->left);
    struct TreeNode* right = invertTree(root->right);
    root->left = right;
    root->right = left;
    return root;
}

你可能感兴趣的:(二叉树OJ,二叉树)