对称的二叉树
2015-06-29 14:10
357 查看
题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。/* 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) return true; if(!pRoot->left&&!pRoot->right) return true; return Symmetrical(pRoot->left,pRoot->right); } bool Symmetrical(TreeNode* left,TreeNode* right) { if((!left&&right)||(left&&!right)) return false; if(!left&&!right) return true; return left->val==right->val&&Symmetrical(left->left,right->right)&& Symmetrical(left->right,right->left); } };
相关文章推荐
- Linux下/etc/shadow文件
- 【原创】Linux编译内核
- #pragma pack
- MSDN 控制台输入输出及属性设置
- Linux中的内存管理
- 二叉树的下一个结点
- IOS 数据存储之 Core Data详解
- XMPP 初探
- DateUtils
- windows 64系统安装Redis,.conf配置文件各字段含义
- 12306全自动验证码
- 二叉搜索树的后续遍历序列
- 删除链表中重复的结点
- 3.10 条形图
- js 倒计时
- 【原创】Linux 增加系统调用
- Winform开发常用控件之TreeView菜单导航和权限用法
- 大白话讲解ROC曲线
- 2440GPIO口在linux中的定义
- CSS浏览器兼容问题