剑指offer——对称的二叉树
来源:互联网 发布:四川省网络作家协会 编辑:程序博客网 时间:2024/05/29 17:29
1. 题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
2. 题目分析
根据题目描述,首先要明确二叉树的镜像的定义。镜像二叉树,就是将原二叉树的左右子树进行交换。那么对称二叉树,就是一颗二叉树的镜像树和他本身相等。镜像后,二叉树的左子树变成右子树,右子树变成左子树树了。要对比原二叉树的左子树和镜像树的右子树,及原二叉树的右子树和镜像树的左子树。那么,代码如下。
3. 题目解答——cpp
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: bool isSymmetrical(TreeNode* pRoot) { if (pRoot == nullptr) return true; return isSymmetrical(pRoot,pRoot); } bool isSymmetrical(TreeNode* pRoot1, TreeNode* pRoot2) { if (pRoot1 == nullptr && pRoot2 == nullptr) return true; if (pRoot1 == nullptr && pRoot2 != nullptr) return false; if (pRoot1 != nullptr && pRoot2 == nullptr) return false; if (pRoot1->val != pRoot2->val) return false; return (isSymmetrical(pRoot1->left,pRoot2->right) && isSymmetrical(pRoot1->right,pRoot2->left)); }};
阅读全文
2 0
- 剑指offer—对称的二叉树
- 《剑指offer》——对称的二叉树
- 剑指offer——对称的二叉树判断
- 剑指offer(C++)——对称的二叉树
- 剑指offer——对称的二叉树
- 剑指offer——对称的二叉树(好)
- 剑指offer——对称的二叉树
- 剑指Offer—58—对称的二叉树
- 剑指offer--对称的二叉树
- 剑指offer 59 - 对称的二叉树
- 《剑指offer》对称的二叉树
- 剑指offer-对称的二叉树
- 剑指offer:对称的二叉树
- 剑指offer:对称的二叉树
- [剑指offer]对称的二叉树
- 剑指Offer--059-对称的二叉树
- 《剑指offer》:[59]对称的二叉树
- 剑指offer-对称的二叉树
- WebStorm 自定义字体+颜色+语法高亮+导入导出用户设置
- 实现倒计时功能--函数的局部变量问题
- SQL概述
- HDU 6120 All Kill(数论+FFT+莫比乌斯反演)
- 4种方法实现文字竖向排列
- 剑指offer——对称的二叉树
- 插件化开发系列之三---Android插件化从入门到放弃-最强合集
- PHP-cli 日志彩色玩法 echo "\033[1;33m Hello World. \033[0m \n";
- hdu-1532-Drainage Ditches-Dinic算法-java
- matlab求解最短路径
- 常用的评测指标
- 多态
- hdu6127 (多校联合第七场) 几何 枚举
- CentOS7下Redis安装与配置