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

制作网站首页psd苏州网站制作推广

制作网站首页psd,苏州网站制作推广,国外网站开发公司,制作一个网站的流程有哪些题目 原题链接 : 101.对称二叉树 题面 : 对于这一题呢,题目要求给出递归和迭代两种方式来解决!!! 注 : 这一题不仅仅是判断左右两个子节点是否对称,而是要遍历两棵树而且要比较内侧和外侧节点 递归 先确认递归三要素 : 确定递归函数的参数和返回值 bool …

题目

原题链接 : 101.对称二叉树

题面 : 

 对于这一题呢,题目要求给出递归和迭代两种方式来解决!!!

注 : 

  • 这一题不仅仅是判断左右两个子节点是否对称,而是要遍历两棵树而且要比较内侧和外侧节点

递归

先确认递归三要素 : 

  1. 确定递归函数的参数和返回值
bool cmp(TreeNode* left,TreeNode* right){}
  1. 确认终止条件
  • 左节点和右结点一个非空,那么一定不对称,返回false;
  • 左右结点均为空,那么对称,返回true
  • 均不为空,值不相等,返回false,值相等,返回下一步,即继续向下递归

那么递归函数的整体代码也就写好了 : 

    bool cmp(TreeNode* left,TreeNode* right){if(left==nullptr && right!=nullptr) return false;else if(left!=nullptr && right==nullptr) return false;else if(left==nullptr && right==nullptr) return true;else if(left->val != right->val) return false;else return cmp(left->left,right->right) && cmp(left->right,right->left);}
  1. 确认递归的逻辑 : 
bool outside = cmp(left->left, right->right);   // 左子树:左、 右子树:右
bool inside = cmp(left->right, right->left);    // 左子树:右、 右子树:左
bool isSame = outside && inside;                    // 左子树:中、 右子树:中(逻辑处理)
return isSame;

那么题解代码也就出来了 : 

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool cmp(TreeNode* left,TreeNode* right){if(left==nullptr && right!=nullptr) return false;else if(left!=nullptr && right==nullptr) return false;else if(left==nullptr && right==nullptr) return true;else if(left->val != right->val) return false;else return cmp(left->left,right->right) && cmp(left->right,right->left);}bool isSymmetric(TreeNode* root) {if(root == nullptr) return true;return cmp(root->left,root->right);}
};

 

迭代

迭代的思路和想法与递归相同,这里呢,就用queue队列来模拟

详细请看代码 :

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool isSymmetric(TreeNode* root) {if(root == nullptr) return true;queue<TreeNode*> que;que.push(root->left);que.push(root->right);while(!que.empty()){TreeNode* l = que.front();que.pop();TreeNode* r = que.front();que.pop();if(!l && !r) continue;//左右结点均为空,直接下一步;if((l&&!r) || (!l&&r)) return false;//左右结点一个为空,返回false;if(l->val != r->val) return false;//均不为空但不相等,直接返回false;que.push(l->left);que.push(r->right);que.push(l->right);que.push(r->left);}return true;}
};

最后看完,能给个赞吗,hh!!!

http://www.yayakq.cn/news/102992/

相关文章:

  • 做3d效果图的网站有哪些网络架构方案规划设计和实施
  • 西安哪家公司做的网站好做固定背景网站
  • 网站服务器 试用重庆山艺网站建设
  • 绿色农业网站源码自己做的网站打开太慢
  • 专业足球网站建设云商城是合法的吗
  • 深圳市建设行业门户网站深圳设计公司有多少家
  • 玛沁县网站建设公司海淀区手机网站设计服务6
  • flash网站建设公司网站被挂黑链怎么删除
  • 扬州建设银行网站用vue做网站一般用什么组件库
  • 做网站找谁抖音代运营电销话术
  • 企业网站类型福步外贸论坛登录
  • 银川做网站服务盟威软件快速开发平台
  • seo企业网站模板徐闻住房与城乡建设局网站
  • 关于电子商务网站建设的参考文献ysl千人千色t9t9t9t9
  • 像试淘网网站怎么建设淘宝指数官网的网址
  • 网站开发项目组织架构公众号开发百修网
  • 网站宣传的方法主要有网上发布信息的平台有哪些
  • 西安网站建设首选网站建设策划ppt
  • 北京网站设计确保代码符合w3c简单企业网站
  • 东莞企业网站开发wordpress 商业插件
  • 惠州市建设局人员备案网站网站换ip对优化有影响吗
  • 建设网站是不是必须要服务器滁州seo公司
  • 网站设置的流程第一步应该公司网站建设的基本流程
  • 怎么用ftp管理网站dede和wordpress
  • 网站设计论文分类号室内设计专业网站
  • 新的网站建设wordpress后台代码
  • 免费网站设计培训班给人做ppt的网站吗
  • 济宁营销网站建设wordpress 地址转换
  • 电子商务企业网站制作九江市城市建设投资有限公司
  • php做网站常见实例路由器做内部网站服务器