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

二叉树——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:

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

Tips:

上一篇:mysql数据库存储过程参数接收表情符号


下一篇:LeetCode 226. 翻转二叉树