【剑指Offer】二叉树的镜像
发布日期:2022-02-10 08:55:13 浏览次数:31 分类:技术文章

本文共 671 字,大约阅读时间需要 2 分钟。

题目

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

例如输入:

     4

   /   \
  2     7
 / \   / \
1   3 6   9
镜像输出:

     4

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

思路

递归实现,有点类似前序遍历的思想,在到底时交换,然后逐层往上。

还有栈和队列的实现,见

代码

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* mirrorTree(TreeNode* root) {        func(root);        return root;    }    void func(TreeNode* p) {        if(p == NULL){            return ;        }                TreeNode* node = p->left;        p->left = p->right;        p->right = node;                func(p->left);        func(p->right);    }};

 

转载地址:https://blog.csdn.net/hanmin822/article/details/105599090 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【剑指Offer】删除链表的节点
下一篇:【剑指Offer】二进制中1的个数

发表评论

最新留言

不错!
[***.144.177.141]2024年04月25日 03时05分05秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章