力扣226.翻转二叉树(二叉树的先序遍历)

题目描述

在这里插入图片描述在这里插入图片描述

思路

利用二叉树的先序遍历,每次递归遍历时将当前节点的左右子节点交换即可

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为树节点的个数

空间复杂度:

O ( h e i g h ) O(heigh) O(heigh);其中 h e i g h t height height为树的高度

Code

class Solution {
public:
    /**
     *
     * @param root The root of binary tree
     * @return TreeNode*
     */
    TreeNode *invertTree(TreeNode *root) {
        traverse(root);
        return root;
    }

    /**
     * Binary tree traversal function
     *
     * @param root The root of binary tree
     */
    void traverse(TreeNode *root) {
        if (root == nullptr) {
            return;
        }
        //All each node needs to do is swap its left and right child nodes
        TreeNode *tmp = root->left;
        root->left = root->right;
        root->right = tmp;

        //Traverse the nodes of the left and right subtree
        traverse(root->left);
        traverse(root->right);
    }
};

相关推荐

  1. -

    2024-03-12 00:48:03       9 阅读
  2. -

    2024-03-12 00:48:03       11 阅读
  3. -

    2024-03-12 00:48:03       8 阅读
  4. 2024-03-12 00:48:03       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 00:48:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 00:48:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 00:48:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 00:48:03       18 阅读

热门阅读

  1. 记一次面试经历

    2024-03-12 00:48:03       24 阅读
  2. mysql的其他问题

    2024-03-12 00:48:03       21 阅读
  3. 【frp】新版本 frp 参考配置分享

    2024-03-12 00:48:03       20 阅读
  4. C++初学

    C++初学

    2024-03-12 00:48:03      19 阅读
  5. CompletableFuture的使用

    2024-03-12 00:48:03       19 阅读