二叉树的镜像 — C++实现
发布日期:2021-10-02 06:27:42 浏览次数:1 分类:技术文章

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

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

源二叉树和镜像二叉树的结构示意如下:

源二叉树         8	   /  \	  6   10	 / \  / \	5  7  9 11   	镜像二叉树	    8	   /  \	  10   6	 / \  / \	11 9  7  5

解题思路

注意理解是二叉树的镜像,不是二叉树的对称,即:一个结点如果有左右子树,则将这两个结点交换即可,而不是交换两个左右子树

代码实现

class Solution {
public: void Mirror(TreeNode *pRoot) {
if(!pRoot)return; if(!pRoot->left&&!pRoot->right)return; TreeNode *tmp=pRoot->left; pRoot->left=pRoot->right; pRoot->right=tmp; Mirror(pRoot->left); Mirror(pRoot->right); }};
运行时间:2ms占用内存:480k

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

上一篇:对称的二叉树 — C++实现
下一篇:树的子结构 — C++实现

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月12日 12时00分15秒