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

做什么网站开发好山东自助seo建站

做什么网站开发好,山东自助seo建站,wordpress数据库二次开发,建立网站要多少钱题目 原题链接 : 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/552000/

相关文章:

  • 互联网行业网站模板网站建设下单源码
  • php网站建设英文文献wordpress页面大小修改
  • 去类似美团网站做软件开发安徽省建设工程信息网站进不了
  • 网站建设主要考虑哪些因素asp网站关键字
  • 惠东网站开发标智客logo设计免费生成
  • 海淀西北旺网站建设土巴兔装修公司
  • asp网站打不开做网站需要哪些工具
  • 聊城专业网站建设制作网站中文名要注册的吗
  • 太仓网站建设平台怎样查看网站服务商
  • 网页建站分为几个类型中文网站的英文
  • wordpress google站内搜索google推广技巧
  • 个人网站策划书模板婺源网站建设wyjcwl
  • 网站获取访客qq 原理cad图做网站链接
  • 汕头网站建设公司哪个好网站被入侵别人是怎么做跳转的
  • wikidot网站怎么做 天堂最新版在线资源
  • 和城乡建设部网站有哪些黄页网不付费
  • 护肤品网站建设需求分析现在制作网页用什么软件
  • 网站设计北京新启东网站建设
  • 网页素材网站免费北京简网世纪科技有限公司
  • 邢台网站关键词搜索站长工具
  • 成都学网站建设网站建设胶州家园
  • 安阳河南网站建设长春网站优化实战
  • 如何不用代码做网站织梦后台点击网站主页
  • 长沙学做网站建设网站运营怎样做
  • 做农村电子商务的网站有哪些做网站主流网站
  • 绵阳网站定制wordpress编辑新页面代码
  • 有什么推荐做简历的网站如何制作外贸网站 wordpress
  • 我有服务器怎么做网站汕头h5建站
  • 阿里云共享云主机做网站做个小程序
  • 公司网站建设的泰国网站的域名