二叉树——226. 翻转二叉树

二叉树——226. 翻转二叉树

题目:

思路:

思路就是要确定遍历顺序,和如何进行翻转。

翻转就交换左右节点,通过一个额外的节点,实现交换。然后再递归,那么遍历顺序也就自然而然可以得出是前序遍历,都有了,剩下的干就行了。

代码:

class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if(root == NULL) return nullptr;

        // 前序遍历
        // 暂存右节点,进行左右节点交换
        TreeNode* tmp = root->right;
        root->right = root->left;
        root->left = tmp;

        invertTree(root->left);     // 左
        invertTree(root->right);    // 右

        return root; 
    }
};

Rank:

Tips:

posted @ 2021-04-18 19:05  Originhhh  阅读(73)  评论(0)    收藏  举报