当前位置: 首页 > news >正文

对称二叉树

递归做法

递归三部曲:停止条件:比较完发现没有子树而且可以判断是否相等;参数:对称的左右节点;返回值:bool,是否对称

class Solution {
public:bool compare(TreeNode* left,TreeNode* right){if(left == NULL && right != NULL)return false;if(right == NULL && left != NULL)return false;if(right == NULL&&left==NULL)return true;//空if(left->val != right->val)return false;bool j1 = compare(left->left,right->right);bool j2 = compare(left->right,right->left);if((j1 == j2) && (j1 == true)){return true;}return false;}bool isSymmetric(TreeNode* root) {if(root == NULL)return true;return compare(root->left,root->right);}

迭代做法

每次入栈两个对称的部分(每次入栈顺序是左右右左),比较栈顶元素:

class Solution {
public:bool isSymmetric(TreeNode* root) {if (root == NULL) return true;queue<TreeNode*> que;que.push(root->left);   // 将左子树头结点加入队列que.push(root->right);  // 将右子树头结点加入队列while (!que.empty()) {  // 接下来就要判断这两个树是否相互翻转TreeNode* leftNode = que.front(); que.pop();TreeNode* rightNode = que.front(); que.pop();if (!leftNode && !rightNode) {  // 左节点为空、右节点为空,此时说明是对称的continue;}// 左右一个节点不为空,或者都不为空但数值不相同,返回falseif ((!leftNode || !rightNode || (leftNode->val != rightNode->val))) {return false;}que.push(leftNode->left);   // 加入左节点左孩子que.push(rightNode->right); // 加入右节点右孩子que.push(leftNode->right);  // 加入左节点右孩子que.push(rightNode->left);  // 加入右节点左孩子}return true;}
};
http://www.sczhlp.com/news/130323/

相关文章:

  • 做ic销售的各种网站下载app下载安卓免费
  • 网站及新媒体建设办法中国建设银行官方网站下载
  • 天眼查网站中关村在线官网首页
  • 郑州恩恩网站建设网站总体规划说明
  • 保定专业做网站建筑网站的功能模块
  • 网站设计就业前景分析下列什么软件不能用于设计网页
  • 买个网站域名要多少钱一年centos 7.2 wordpress
  • 莱芜网站优化排名公司找网站建设客户
  • 搜索历史记录郑州seo价格
  • 网站默认图制作网站的app
  • seo网站优化推广东莞找网站设计
  • 企业自助建站网站搭建论文
  • 郑州做网站公是网站建设专业好
  • 网站建设项目概要设计方案上线了建站教程
  • 网站内容创意推广普通话的重要性
  • 千户微建站平台网站SEO建设
  • 一例电动车充电器防反接电路分析
  • 网站后台不能粘贴文章python 做电商网站
  • 免费建设网站的方法手机免费建站平台下载
  • 哪家网络公司做网站好大连开发区邮编
  • 食品网站建设策划方案海尔网站建设的缺点
  • 网站在线留言国内新闻大事
  • 如何提升网站的权重响应式网站的意义
  • 网页制作与网站制作自助手机网站
  • 网站膜拜销售个人形象设计网站
  • 营销型网站建设供货商广州全面优化各项防控措施
  • 网站开网站开发设计公司网站做推广应该如何来做呢哪里推广
  • 怎样建官方网站网站文章推广
  • isEmpty/isNotEmpty/isNotBlank/isBlank-isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank
  • NetCore+Web客户端实现gRPC实时推送