面试题27:二叉树的镜像 题目描述 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 树的结构如下: B是A的镜像 问题分析 镜像 这个名词看起来很高大上。 其实就是每个结点交换左右子结点。 我们通过前序遍历,依次处理即可。 问题解答 ...
分类:
其他好文 时间:
2020-01-31 20:51:33
阅读次数:
56
1、题目描述: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 2、思路: 主要还是利用遍历来实现,如果一颗二叉树的前序遍历 根左右 结果,前序遍历的对称遍历方式 根右左,两个结果是一样的,这颗二叉树就是平衡二叉树。对于二叉树遍历,只能 ...
分类:
其他好文 时间:
2020-01-29 21:43:39
阅读次数:
67
操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 1 /** 2 public class TreeNode { 3 int val = 0 ...
分类:
其他好文 时间:
2020-01-11 00:26:39
阅读次数:
81
剑指Offer:二叉树的镜像 题目题目 操作给定的二叉树,将其变换为源二叉树的镜像。 题目分析 Java题解 ...
分类:
其他好文 时间:
2020-01-07 01:11:54
阅读次数:
102
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 1 class Solution: 2 def isSymmetrical(self, pRoot): 3 # write code here 4 def mirror(left ...
分类:
编程语言 时间:
2020-01-01 11:33:57
阅读次数:
81
题目: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 分析: 从根结点开始递归对比左右子树即可。需要注意的是,当前左右两个结点相同比较下面的结点时,由于是判断二叉树是否是对称的,递归执行时,比较的两个结点是当前左结点的左结点和当前右结 ...
分类:
编程语言 时间:
2019-12-29 15:20:56
阅读次数:
71
题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 首先特判一下这棵树是不是空的,如果是空,那么返回true。 因为判断二叉树的镜像,我们要看它的左、右子树,所以递归函数dfs的参数应该有两个,一个是左子树的根节点,一个是右子树的根节 ...
分类:
其他好文 时间:
2019-12-23 13:06:59
阅读次数:
64
题目:操作给定的二叉树,将其变换为源二叉树的镜像。 这道题用递归来做非常简单,二叉树的镜像就是将两个子树互换,对于每个子树,都递归进行这个操作就可以。 总的来说,就是先交换root节点的两个子节点,在对左子树进行镜像,对右子树进行镜像。 c++代码如下: ...
分类:
其他好文 时间:
2019-12-22 12:42:41
阅读次数:
78
/* 题目:输入一个二叉树,输出该函数的镜像。 */ /* 思路: 基础条件:树为空,或只有一个节点。 其它:递归交换二叉树的左右子树。 */ void Mirror(TreeNode *pRoot) { if(pRoot == nullptr || (pRoot->left == nullptr ...
分类:
其他好文 时间:
2019-11-23 20:10:59
阅读次数:
67