求一棵树的镜像树

python代码实现二叉树的镜像树 ''' 操作给定的二叉树,将其变换为源二叉树的镜像。 ''' # -*- coding:utf-8 -*- class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None class Solution: # 递归实现 def Mirror(self, root): if root == None:... 阅读详情

连接;http://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011?tpId=13&tqId=11171&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking


题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树 
    	    8
    	   /  \
    	  6   10
    	 / \  / \
    	5  7 9 11
    	镜像二叉树
    	    8
    	   /  \
    	  10   6
    	 / \  / \
    	11 9 7  5

/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
public:
    void Mirror(TreeNode *pRoot) {
        if(pRoot==NULL) return ;
        Mirror(pRoot->left);
        Mirror(pRoot->right);
        TreeNode* temp=pRoot->left;
        pRoot->left=pRoot->right;
        pRoot->right=temp;
    }
};

go:实现判断一颗二叉树是否是镜像树算法(附完整源码) 阅读详情

相关推荐

镜像树

镜像树

java二叉树镜像_Java编程求二叉树的镜像两种方法介绍

给出一棵二叉树,求它的镜像,如下图:右边是二叉树是左边二叉树的镜像。仔细分析这两棵树的特点,看看能不能总结出求镜像的步骤。这两棵树的根节点相同,但他们的左右两个子节点交换了位置。因此我们不妨先在树中交换根节点的两个子节点,就得到了下面一幅图中的第二颗树解法1(递归)思路1:如果当前节点为空,返回,否则交换该节点的左右节点,递归的对其左右节点进行交换处理。/*class TreeNode{int v...

weixin_39956350的博客 265

SAP S4HANA F-02报错:更正统一日记账分类账的定制设置

消息号 FINS_ACDOC_CUST201 使用FINS_CUST_CONS_CHK_P去检查公司代码和分类账的设置 提示:过账期间变式为空(分类账 E1/公司代码 7500) 检查了表FINSC_LD_CMP 显示有分类账未分配过账期间变式 解决:后台配置定义分类账和货币类型的设置把过账变式维护下 路径:财务会计→财务会计全局设置→分类账→分类账→定义分类账和货币类型的设置 选中需要维护的分类账双击左侧的“分类账的公司代码设置”,找到对应的公司代码维护上即可。

qq_45068743的博客 6448

镜像树(dfs)

1214: J.镜像树 时间限制: 1 Sec内存限制: 64 MB提交: 18解决: 7 标签提交统计讨论版 题目描述 一棵二叉树,若其与自己的镜像完全相同,就称其为镜像树(即这棵二叉树关于根完全对称)。例如 是一棵镜像树; 而 不是镜像树。 现给你一棵二叉树,请你判断其是不是镜像树。 ...

weixin_30502965的博客 194

发票OFD格式转换成PDF

发票OFD格式转换成PDF

Be_insighted的博客 931

OS实验xv6 6.S081 开坑

OS实验xv6 6.S081 开坑 终于把xv6 2019 6.S081做完了,网络部分没有写,因为有计网实验了。怎么说呢,xv6的坑有点多,能做完多亏了:和我同学ljj交流,参考RedemptionC老哥的博客(他写的非常详细,遗憾的是,他好像没有写mmap),再者就是参考这位老哥的做法(没有源码,写得不是特别详细,不过有借鉴作用,mmap就是借鉴了他的思想)……废话不多说了,直接开始。 实验指导 首推RedemptionC的博客 这位老哥的个人博客 xv6 6.S081官网(后面的实验都要参考官网

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 4493

【算法入门14】二叉树的镜像

核心考点:二叉树操作 操作给定的二叉树,将其变换为源二叉树的镜像。 解析: 要将一棵二叉树变化为自身的镜像,只需交换该二叉树每一个结点的左右子树即可。 例如,上述二叉树我们交换根结点的左右子树后源二叉树会发生如下变化。 再继续交换下一层结点的左右子树后,便可得到源二叉树镜像后的二叉树。 但实际上我们还会交换叶子结点的左右子树,只不过叶子结点的左右子树都为空树交换后二叉树无变化。 二叉树都是递归定义的,所以递归操作是比较常见的做法。 /* struct TreeNode { int val; s

2021dragon的博客 3556

(保姆教程)Spyder 配置Tensorflow(2.5.0)和keras(2.4.3)

(保姆教程)Spyder 配置Tensorflow(2.5.0)和keras(2.4.3)

qq_43102225的博客 1万+

【好记性不如烂笔头】二叉树之镜像树

上次记录了二叉树的遍历方式,这次记录一下二叉树的镜像树,个人不喜欢字太多的,看着烦,通篇尽量还是用画图的方式记录。

记录并分享信息的载体 554

YOLOv13改进:注意力机制 | 动态稀疏注意力的双层路由方法BiLevelRoutingAttention | CVPR2023

BiLevelRoutingAttention方法对小目标检测效果比较好。可能是因为BRA模块是基于稀疏采样而不是下采样,一来可以保留细粒度的细节信息,二来同样可以达到节省计算量的目的。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1435

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1554

二叉树的镜像

什么是二叉树的镜像? 通俗一点说,就是将二叉树对着镜子照一下,镜子中显示出来的二叉树就是该二叉树的镜像二叉树。 就像我们照镜子一样,镜子中我们的右手是现实中的左手,镜子中的右手是显示中的左手。 对二叉树也是如此: 镜像二叉树的左子树是原来的右子树,镜像二叉树的右子树是原来的左子树。因此求镜像二叉树,只需要把原来二叉树的左右子树交换即可。 1、递归算法 public void Mirror(Tree...

Medlen 580

AUTOSAR知识点 之 XCP (三):XCP功能描述

记录一下XCP使用时候的功能包含命令时序、错误码表、事件描述以及对规范的记录。XCP的图示如下从上图就可以看出数据流的流向CAN-CANIF-XCP,发送反之。XCP的状态机如下。

梦想技术家 3075

二叉树的镜像树

所谓二叉树的镜像树就是把一个节点下的左右孩子交换,例如: 下面这棵树是一颗深度为3的完全二叉树            那么它的镜像就应该是 这个问题其实不难,主要是要将树建立起来,然后把左右节点交换就可以啦 由于输入的数据的格式是 (A(B(D)(E))(C(F)))这种形式,(就是上面的第一颗二叉树的结构)我们需要解析字符串然后建立一棵树(这算一个比较麻烦的

趁着这大好时光,多看看。 3204

QCM2290 PM-3 如何让mirco-usb支持关机充电

PM4125-3插入type-C触发开机进入关机充电的CC脚中断条件是否可以软件上屏蔽, 做到只通过VBUS中断即可触发进入关机充电模式,达到和PM4125-2的效果一样只要插入micro USB 就可以触发进入关机充电模式。硬件团队提议修改寄存器 SCHG_L_MISC_SYSOK_CFG 0x164A bit[4] 目前修改如下 — a/BOOT.XF.4.1/boot_images/QcomPkg/Library/PmicLib/target/Agatti_pmCocos/psi/pm_confi

墨染天玑的博客 442

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

判断两棵树知否相同;是否镜像;一棵树是否对称;一棵树是否为另一棵树的子树Java

两棵树是否相同 public static boolean isSameTree(Node p,Node q){ if (p == null && q == null){ return true; } if (p == null || q == null) { return fals...

ML的博客 427

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

求一棵树的镜像

给定一棵二叉树,返回该二叉树的镜像,即对于每一棵子树,都把其左右子树jiaohuan

Oliverkehl的专栏 832

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

树的递归写法

树的相关递归写法 将树分为三部分,根节点,左子树, 右子树,分别判断情况 递归出口, 判断是return false 还是return true; 根节点满足某种条件 return 递归(左子树) && 递归(右子树) 满足某种条件 或者 return 递归(左子树) || 递归右子树 只要有一边满足条件即可 return false 100. Same Tr...

qq_28350997的博客 5429

【LeetCode笔记】判断一棵树是否为镜像

最初思路: 1.求树的中序遍历,存入vector; 2.判断vector是否为为镜像; /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : va

macidoo的博客 1063

LeetCode 101. Symmetric Tree

判断一棵树是否是镜像的,即左右对称。 一开始我想用中序遍历来进行判断,我认为镜像的树中序遍历的结果应该也是镜像的(以1/2点为中心左右对称) 代码如下:(这个代码是wrong answer的!)string ans; void tree(TreeNode* root){ if(root!=NULL){ tree(root->left); ans+=root

Trident_的博客 359

Is it a Binary Search Tree

2020/5/25/22:22 //错误总结: //1:先序遍历顺序弄错 //2:写后边的类似函数时忘记修改需要修改的值 //3:root节点忘记加&符号,这样值得不到修改 //改进的地方: //1:如果向量定义在遍历函数的后面或者需要在函数中对函数进行修改,那么可以传入vector<int>&vi //2:也可以在建树的时候就把镜像树建立好,这样就先序和后序只需要各写一个函数就行。总的逻辑就是:要判断已有的树和BST或镜像树是否相同 //3:不要先进行后序遍历,先判断再进行遍历

WF19980719的博客 281

pat a 1043

题目一开始没理解print in the next line the postorder traversal sequence of that tree.我以为是不管是镜像树还是普通树都只要普通树的后序遍历,但其实镜像树要镜像后序遍历… #include <iostream> #include <vector> using namespace std; struct no...

blxl313的博客 146

LeetCode | Symmetric Tree(镜像树)

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \ 3 4 4 3 But the f

solar一抹阳光的专栏 722

PAT--1043 Is It a Binary Search Tree(二叉排序树的建立与判定)

思路: 如何判断一个输入序列是否是一颗二叉排序树的前序序列或者是其镜像树的前序序列? 方法一:根据输入序列建立一颗二叉排序树和一颗镜像树,分别再进行前序遍历,若这两棵树中,有一个前序序列和输入序列相同,则输出yes。否则输出no。 参考博客: https://blog.youkuaiyun.com/xianyun2009/article/details/50191137 方法二:还有一个规律是镜像树的后序遍...

上帝是个娘们的博客 160

题目(二叉树)

1、把一棵二叉树转换为它的镜像树 // 转换成镜像树 void mirror_tree(TreeNode* root) { if(NULL == root) return; TreeNode* temp = root->left; root->left = root->right; root->right = temp; mirror_tree(root->left); mirror_tree(root->right); } 2、输入两棵二叉树A、B

JIE的博客 884

java面试中的二叉树题目汇总

二叉树和链表一样,首先都应该想到递归。所以本文中尽量都用递归和非递归完成每一题1.二叉树的遍历,前序中序后序,递归和非递归2.二叉树的层序遍历3.二叉树的高度4.二叉树的节点个数5.求二叉树的镜像6.判断两颗二叉树是否互为镜像7.判断一棵树是否本身就是镜像树8.判断两颗二叉树是不是相同的树9.判断树1是不是树2的子结构10.判断二叉树是否是平衡二叉树11.二叉树第k层的节点个数12.二叉树叶子节点的

myblog 916
上一篇: 判断一棵树是不是另外一棵树的子树(dfs)
下一篇: 判断一个数组是否为二叉排序树的后续遍历
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值