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

特产网站开发的目的商丘网站推广渠道

特产网站开发的目的,商丘网站推广渠道,河北网站备案多久,上海市建设工程备案查询网站1.对称二叉树 题目链接#xff1a;101. 对称二叉树 - 力扣#xff08;LeetCode#xff09; 题解#xff1a; 我们可以用递归的方法去做#xff1a; 如果两个树互为镜像#xff08;1.根节点的值相同#xff0c;2.左子树的值与右子树的值对称#xff09;则为对称二叉树101. 对称二叉树 - 力扣LeetCode 题解 我们可以用递归的方法去做         如果两个树互为镜像1.根节点的值相同2.左子树的值与右子树的值对称则为对称二叉树我们先判断左右两棵树根节点的值如果根节点的值相同然后判断左右两棵树是否对称左边树的左孩子是否等于右边树的右孩子左边树的右孩子是否等于右边树的左孩子我们依次递归如果左右子树每个节点都满足以上两个条件则为对称二叉树。 注意需要对空进行判断如果两边对称位置都出现空则不影响结果如果两边对称位置一边为空另一边非空则不为对称二叉树 代码 bool is(struct TreeNode* root1,struct TreeNode* root2) {if(root1NULLroot2NULL)return true;if(root1NULL||root2NULL)return false;if(root1-val ! root2-val)return false;return is(root1-left,root2- right)is(root1-right,root2-left); } bool isSymmetric(struct TreeNode* root) {return is(root-left,root-right); } 2.翻转二叉树  题目链接226. 翻转二叉树 - 力扣LeetCode 题解         这一题其实就是上一题的变形我们可以看到翻转之后的图像和原来的图像是对称的关系因此我们只需要和上一题一样使用递归的操作依次对每个节点进行操作我们需要让左右两颗子树的对称位置节点的值进行交换这样就能变成原图像的对称图像。 代码 void _invertTree(struct TreeNode* root){if(root){struct TreeNode* tmp root-left;root-left root-right;root-right tmp;_invertTree(root-left);_invertTree(root-right);} }struct TreeNode* invertTree(struct TreeNode* root){_invertTree(root);return root; } 3.平衡二叉树 题目链接110. 平衡二叉树 - 力扣LeetCode 题解         首先要保证当前树的左右子树高度差不大于1而且子树本身也是平衡树。         这一题依然可以用递归的方法分别检查左右子树判断左右子树是否为平衡树然后检查总体的。因此我们要分别求出左右子树的高度判断两颗子树的高度差是否小于1这里可以用到绝对值左右子树都要进行这样的判断因此递归条件可以写为 fabs(TreeHeight(root-left)-TreeHeight(root-right))1isBalanced(root-left)isBalanced(root-right) 代码 int TreeHeight(struct TreeNode* root) {if (root NULL)return 0;return fmax(TreeHeight(root-left), TreeHeight(root-right)) 1; } bool isBalanced(struct TreeNode* root) {if(rootNULL)return true;return fabs(TreeHeight(root-left)-TreeHeight(root-right))1isBalanced(root-left)isBalanced(root-right); } 4.二叉树的前序遍历 题目链接144. 二叉树的前序遍历 - 力扣LeetCode 题解         要返回二叉树的前序遍历那么我们使用二叉树前序遍历访问一个节点就可以使用数组保存一个节点的值我们通过题目接口可以看到还要返回size所有我们还要求二叉树节点的size。 是 代码 void pre(struct TreeNode*root,int*a,int*i) {if(rootNULL)return;a[(*i)]root-val;pre(root-left,a,i);pre(root-right,a,i); } int size(struct TreeNode*root) {if(rootNULL){return 0;}return size(root-left)size(root-right)1; } int* preorderTraversal(struct TreeNode* root, int* returnSize) {int n size(root);*returnSize n;int*a(int*)realloc(a,sizeof(int)*n);int i0;pre(root,a,i);return a; }
http://www.ihoyoo.com/news/75297.html

相关文章:

  • php视频网站开发网站建设中企动力强
  • 网站刷排名工具小程序模板平台有哪些
  • 做移动网站首页软城乡建设网站职业查询系统
  • 做网站需要平台做个外贸网站一般需要多少钱
  • dede双语网站培训机构怎么做线上推广
  • 国外优秀的平面设计网站视频弹幕网站怎么做
  • 那个网站做百科好过o2o商城网站搭建
  • 注册一个小网站甘肃网站开发企业
  • 网站流量消耗计算韩国女足出线
  • wordpress外贸网站建设wordpress出现不能登录
  • 凡科轻站小程序模板成都品牌网站建设电话
  • 成都平台网站建设公司网站建设的基本特点
  • onethink做移动网站买域名去哪个网站
  • 东莞创意网站设计效果图婚纱网站建设规划书
  • 家居网站建设素材python语言基础知识
  • 廊坊哪里做网站好wordpress 情侣博客
  • 网站母版页怎么做广东最新消息
  • 给传销做网站自媒体平台注册下载
  • 网站建设代码怎么写网络架构师证书怎么考
  • wordpress用户冻结北京网络推广公司wyhseo
  • 一个购物网站开发语言汕头建筑
  • 做网站做生意源码论坛网搭建
  • 做网站用新域名还是老域名网站备案官网
  • 东莞长安做网站广州网站建设交易
  • 网站建设优惠教育网站建设解决方案
  • 注册top域名做公司网站南通seo快速排名
  • 中国中小企业信息网sem跟seo的区别
  • 网站开发当前城市定位功能企业建站公司
  • 电子商务网站后台导航网站制作教程
  • 俄语网站制作艺术视频手机网站可以做吗