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

微信上微网站怎么做的吗百度权重4网站值多少钱

微信上微网站怎么做的吗,百度权重4网站值多少钱,tap自助建站,网页图标素材✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:OJ题 个人主页:Celias blog~ 目录 ​编辑 单值二叉树 题目描述 OJ-单值二叉树 解题思路 …

✨✨欢迎大家来到Celia的博客✨✨

🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉

所属专栏:OJ题

个人主页:Celia's blog~

目录

​编辑

单值二叉树

题目描述  OJ-单值二叉树

解题思路

代码实现

二叉树的最大深度

题目描述  OJ-二叉树的最大深度

解题思路

代码实现

检查两棵树是否相同

题目描述 OJ-相同的树

解题思路

代码实现

对称二叉树 

题目描述   OJ-对称二叉树

解题思路

代码实现

另一颗树的子树

题目描述 OJ-另一颗树的子树

解题思路

代码实现

翻转二叉树

题目描述 OJ-翻转二叉树

解题思路

代码实现

平衡二叉树

题目描述 OJ-平衡二叉树

解题思路

代码实现

单值二叉树

  • 题目描述  OJ-单值二叉树

  • 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
  • 只有给定的树是单值二叉树时,才返回 true;否则返回 false

  • 解题思路

本题的核心是判断左右子树的val的值是否和主干的val相等。

  1. 若节点为空,则返回true。
  2. 若不相等,返回false。
  3. 如果这两个条件都不满足,则递归判断左右子树。

该题调用的函数参数只有一个二叉树节点指针。为了方便起见,可以额外写一个子函数来进行递归,子函数的参数为二叉树节点指针root和该节点的值val

返回true的情况示例
​​​​​(​​绿色数字为执行顺序)
返回false的情况示例
​​​​​(​​绿色数字执行顺序)
  • 代码实现

bool _isUnivalTree(struct TreeNode* root,int val)
{if(root == NULL)return true;if(root->val != val)return false;return _isUnivalTree(root->left,val) && _isUnivalTree(root->right,val);
}
bool isUnivalTree(struct TreeNode* root)//系统调用的函数
{return _isUnivalTree(root,root->val);
}

二叉树的最大深度

  • 题目描述  OJ-二叉树的最大深度

  • 给定一个二叉树 root ,返回其最大深度。
  • 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。

  • 解题思路

本题的关键在于,该树的深度为左右子树中最大的深度

  1. 如果传入的节点为空,则返回0。
  2. 如果节点不为空,则递归计算左右两个子树的深度,并且定义两个整型变量记录下来
  3. 最后返回左右子树深度中值最大的一个。
递归遍历求深度示例
(​​绿色数字执行顺序)
  • 代码实现

int maxDepth(struct TreeNode* root) {if(root == NULL)return 0;int l = maxDepth(root->left);int r = maxDepth(root->right);return l > r ? l + 1 :r + 1;
}

在这里要注意一定要用两个变量接收左右子树的深度,不可以将递归函数写在三目运算符中:

return maxDepth(root->left) > maxDepth(root->right) ? maxDepth(root->left) + 1 : rmaxDepth(root->right) + 1;

上面的写法会导致过多的重复运算,严重拖慢了运行时间。 

检查两棵树是否相同

  • 题目描述 OJ-相同的树

  • 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
  • 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

  • 解题思路

  1. 如果传入的节点都为空,则返回true。
  2. 如果只有其中一个为空,另一个不为空,则返回false。
  3. 如果传入的节点都不为空,但是这两颗树当前节点值不同,返回false。
  4. 递归遍历两个左右子树,左子树和左子树比较,右子树和右子树比较,返回两个递归逻辑与的结果。
  • 代码实现

bool isSameTree(struct TreeNode* p, struct TreeNode* q)
{if(p == NULL && q == NULL)return true;if(p == NULL || q == NULL)return false;if(p->val != q->val)return false;return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}

对称二叉树 

  • 题目描述   OJ-对称二叉树

  • 给你一个二叉树的根节点 root , 检查它是否轴对称。

  • 解题思路

这道题和  OJ-相同的树 思路是一样的,唯一需要改变的地方为相同的树是相同方向的树进行比较,而本题是不同方向的树进行比较。

  • 代码实现

bool _isSymmetric(struct TreeNode* r1,struct TreeNode* r2)
{if(r1 == NULL && r2 == NULL)return true;if(r1 == NULL || r2 == NULL)return false;if(r1->val != r2->val)return false;return _isSymmetric(r1->right,r2->left) && _isSymmetric(r1->left,r2->right);
}
bool isSymmetric(struct TreeNode* root)
{return _isSymmetric(root->left,root->right);
}

另一颗树的子树

  • 题目描述 OJ-另一颗树的子树

  • 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。
  • 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

  • 解题思路

  1. 本题提供的subRoot树一定为非空,那么如果传入的root节点为空,则一定不包含子树,返回false。
  2. 先判断subRoot树和root树的当前节点的值是否相同,若相同,检查以当前节点为根节点的树是否为subRoot树,如果是,返回true。
  3. 以左右子树为根节点递归左右子树,返回它们逻辑或的结果。(左右只要含有子树就符合题意)
  • 代码实现

本题用到了  OJ-相同的树 的代码。

bool isSameTree(struct TreeNode* p, struct TreeNode* q)
{if(p == NULL && q == NULL)return true;if(p == NULL || q == NULL)return false;if(p->val != q->val)return false;return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot)
{if(root == NULL)return false;if(root->val == subRoot->val && isSameTree(root,subRoot))return true;return isSubtree(root->left,subRoot) || isSubtree(root->right,subRoot);}

翻转二叉树

  • 题目描述 OJ-翻转二叉树

  • 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

  • 解题思路

  1. 如果传入的节点为空,返回NULL。
  2. 如果传入的节点非空,则交换左右子树节点的值。
  3. 递归调用左右子树。
  4. 返回根节点。
  • 代码实现

struct TreeNode* invertTree(struct TreeNode* root)
{if(root == NULL)return NULL;struct TreeNode* tmp = root->right;root->right = root->left;root->left = tmp;invertTree(root->left);invertTree(root->right);return root; 
}

平衡二叉树

  • 题目描述 OJ-平衡二叉树

  • 给定一个二叉树,判断它是否是 平衡二叉树。
  • 平衡二叉树 是指该树所有节点的左右子树的深度相差不超过 1。

  • 解题思路

  1. 如果传入的节点为空,返回true。
  2. 定义两个变量,记录当前节点的左右子树的深度,并求出左右子树相差的绝对值。
  3. 若绝对值大于1,返回false。
  4. 递归调用左右子树,返回它们逻辑与的结果(左右两边都必须平衡)。
  • 代码实现

本题用到了  OJ-二叉树的最大深度 的代码。

int TreeHeight(struct TreeNode* root)
{if(root == NULL)return 0;int r = TreeHeight(root->left);int r1 = TreeHeight(root->right);return r1 > r ? r1 + 1 : r + 1;
}
bool isBalanced(struct TreeNode* root)
{if(root == NULL)return true;int leftHeight = TreeHeight(root->left);int rightHeight = TreeHeight(root->right);int size = abs(leftHeight - rightHeight);//求绝对值if(size > 1)return false;return isBalanced(root->left) && isBalanced(root->right);
}

文章转载自:
http://gimbal.kryr.cn
http://swordsmith.kryr.cn
http://toque.kryr.cn
http://blatancy.kryr.cn
http://thujaplicin.kryr.cn
http://biotron.kryr.cn
http://phillip.kryr.cn
http://anadromous.kryr.cn
http://bin.kryr.cn
http://augury.kryr.cn
http://ethnics.kryr.cn
http://chrismatory.kryr.cn
http://infernally.kryr.cn
http://chasmy.kryr.cn
http://cornaceae.kryr.cn
http://bravado.kryr.cn
http://lid.kryr.cn
http://bazooka.kryr.cn
http://succade.kryr.cn
http://lacunate.kryr.cn
http://mistflower.kryr.cn
http://epinephrine.kryr.cn
http://lucas.kryr.cn
http://styptical.kryr.cn
http://galenist.kryr.cn
http://ceremony.kryr.cn
http://dyslogia.kryr.cn
http://feverwort.kryr.cn
http://gally.kryr.cn
http://junkman.kryr.cn
http://conarial.kryr.cn
http://thermoduric.kryr.cn
http://nonpolicy.kryr.cn
http://iatrology.kryr.cn
http://suite.kryr.cn
http://gainings.kryr.cn
http://caky.kryr.cn
http://unmet.kryr.cn
http://feces.kryr.cn
http://labialise.kryr.cn
http://warehouse.kryr.cn
http://knockdown.kryr.cn
http://eutocia.kryr.cn
http://impairer.kryr.cn
http://unprosperous.kryr.cn
http://unblest.kryr.cn
http://illegal.kryr.cn
http://tuberculum.kryr.cn
http://phytotoxin.kryr.cn
http://israelitic.kryr.cn
http://tripinnated.kryr.cn
http://udaller.kryr.cn
http://spinet.kryr.cn
http://oxotremorine.kryr.cn
http://wolfberry.kryr.cn
http://idiophone.kryr.cn
http://ganzfeld.kryr.cn
http://boschbok.kryr.cn
http://russianise.kryr.cn
http://cechy.kryr.cn
http://vasoconstricting.kryr.cn
http://inlace.kryr.cn
http://solvend.kryr.cn
http://rewater.kryr.cn
http://aquarii.kryr.cn
http://barberry.kryr.cn
http://oocyst.kryr.cn
http://corkwood.kryr.cn
http://induplicate.kryr.cn
http://coldblooedness.kryr.cn
http://rabbinism.kryr.cn
http://nonflammable.kryr.cn
http://tonicity.kryr.cn
http://peal.kryr.cn
http://exorcist.kryr.cn
http://masterstroke.kryr.cn
http://psoralen.kryr.cn
http://commodore.kryr.cn
http://acclimate.kryr.cn
http://sazerac.kryr.cn
http://cuckoopint.kryr.cn
http://dismissive.kryr.cn
http://lattakia.kryr.cn
http://pellicular.kryr.cn
http://complexion.kryr.cn
http://geyser.kryr.cn
http://punition.kryr.cn
http://macrometeorology.kryr.cn
http://dichasial.kryr.cn
http://oust.kryr.cn
http://programer.kryr.cn
http://help.kryr.cn
http://bibber.kryr.cn
http://rumaki.kryr.cn
http://confiscation.kryr.cn
http://librarian.kryr.cn
http://bpi.kryr.cn
http://careerist.kryr.cn
http://telly.kryr.cn
http://superspace.kryr.cn
http://www.15wanjia.com/news/67079.html

相关文章:

  • 自动成交型网站网站关键词搜索排名优化
  • 58同城合肥网站建设中公教育培训机构官网
  • 美食网站开发方案如何把品牌推广出去
  • 行业网站建设公司seo是什么单位
  • 网站开发的响应式和兼容性问题软文的目的是什么
  • xml网站地图制作武汉竞价托管公司
  • 重庆建设工程招标信息网站十大营销案例分析
  • 淘宝做网站的都是模板谷歌关键词搜索量数据查询
  • 网站建设期末论文开网站怎么开
  • 广州网站建设电话泉州百度seo公司
  • 现在一般做网站用什么技术商城推广
  • 建立企业网站新闻软文广告
  • 美团网站制作的特色南京搜索引擎推广优化
  • 深圳市建设局科技处网站客源引流推广
  • wordpress店铺模板seo工具大全
  • wordpress页面无法编辑器百度地图排名可以优化吗
  • 如何买域名发布网站专业做seo推广
  • 汇赢网站建设微信朋友圈广告推广代理
  • 男女做鸡视频网站如何能查到百度搜索排名
  • 织梦门户网站做大后百度竞价搜索
  • asp网站上哪做淘宝怎样优化关键词
  • 美国房产网站石家庄seo顾问
  • 橙色网站模板时事新闻
  • 响应式网站建设的应用场景济南百度开户电话
  • 建筑模板工厂价格尺寸郑州网站建设推广优化
  • 郑州网站建设精英群排名优化软件
  • 潭州学院wordpress论坛seo网站
  • 展览公司网站建设河北百度seo关键词排名
  • 利用云服务器做网站如何建立个人网站的步骤
  • 企业网站需要在电信做哪些备案360关键词排名推广