其他分享
首页 > 其他分享> > 二叉树——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:

Tips:

标签:遍历,invertTree,二叉树,226,root,节点,翻转
来源: https://www.cnblogs.com/lzyrookie/p/14674265.html