面试题 27. 二叉树的镜像

题目描述

请完成一个函数,输入一个二叉树,该函数输出它的镜像。

示例

例如输入:

     4
   /   \
  2     7
 / \   / \
1   3 6   9

镜像输出:

     4
   /   \
  7     2
 / \   / \
9   6 3   1

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

题解

    vector<int> mirror_tree(TreeNode* root) {
        cout << "before mirror\n";
        print_vector(floorTravel(root));

        if (root == nullptr) return {};
        substutite(root);
        mirror_tree(root->left);
        mirror_tree(root->right);

        cout << "after mirror\n";
        vector<int> res = floorTravel(root);
        return res;
    }

    vector<int> floorTravel(TreeNode* root) {
        if (root == nullptr) return {};
        vector<int> res;
        std::queue<TreeNode*> q;
        q.push(root);
        while (!q.empty()) {
            TreeNode* cur_pop = q.front();
            if (cur_pop->left) q.push(cur_pop->left);
            if (cur_pop->right) q.push(cur_pop->right);
            res.push_back(cur_pop->val);
            q.pop();
        }
        return res;
    }
    void substutite(TreeNode* root) {
        TreeNode* l = root->left;
        root->left = root->right;
        root->right = l;
    }

相关推荐

  1. 面试 27. 镜像

    2024-07-17 09:26:01       30 阅读
  2. 剑指 Offer(第2版)面试 27镜像

    2024-07-17 09:26:01       60 阅读
  3. 镜像--c++【做记录】

    2024-07-17 09:26:01       32 阅读
  4. 剑指offer面试6 重建

    2024-07-17 09:26:01       48 阅读
  5. 【LeetCode面试经典150】101. 对称

    2024-07-17 09:26:01       32 阅读
  6. LeetCode面试54. 搜索第k大节点

    2024-07-17 09:26:01       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 09:26:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 09:26:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 09:26:01       58 阅读
  4. Python语言-面向对象

    2024-07-17 09:26:01       69 阅读

热门阅读

  1. 从三个方向来谈谈开源项目有哪些机遇与挑战

    2024-07-17 09:26:01       24 阅读
  2. 告别自动激活:掌握如何在Conda中禁用Base环境

    2024-07-17 09:26:01       28 阅读
  3. 中国电子学会青少年编程等级考试真题下载

    2024-07-17 09:26:01       23 阅读
  4. Shell

    Shell

    2024-07-17 09:26:01      24 阅读
  5. 01.Verilog基础语法

    2024-07-17 09:26:01       21 阅读
  6. 音视频开发入门教程(1)如何安装FFmpeg?共210节

    2024-07-17 09:26:01       20 阅读
  7. HTTP缓存/强缓存/协商缓存

    2024-07-17 09:26:01       21 阅读
  8. 69、Flink 的 DataStream Connector 之 Kafka 连接器详解

    2024-07-17 09:26:01       20 阅读
  9. Google 优化(SEO):提升网站曝光率的关键策略

    2024-07-17 09:26:01       24 阅读
  10. 自然语言处理中的本体/分类/同义相似

    2024-07-17 09:26:01       26 阅读
  11. Ubuntu串口调试单片机

    2024-07-17 09:26:01       24 阅读
  12. Hadoop中的YARN组件

    2024-07-17 09:26:01       19 阅读